ファイルのアップロードの必要性、2つのJARパッケージについて
ファイルアップロードフォームフォームの設定
方法:帳簿やURLパラメータの後ろの背面にGETリクエストurlパラメータが、限定されているとして、ポストモードは、設定する必要があります。
ENCTYPEが「multipart / form-data」に設定する必要があり、形成のキーと値のペアの形式でデフォルトのフォームを。
1.ファイルをアップロードする伝統的な方法
従来のファイルアップロードプロセス:
- ブラウザは、アップロードするファイルを選択します
- 背景には、要求、パースを受け取ります
- アイテムをアップロードするかどうかの決定を解析した後、
- アイテムがアップロードされている場合は、アップロードし
たコードを
2. SpringMVCアップロードファイル
SpringMVC dispacherServletは、ファイルのアップロードSpringMVCはCommonsMultipartResolverパーサを提供し、このクラスを介して、ブラウザはファイルをアップロードする要求を解析することができる、開発効率を向上させるために、複数のパーサを利用し、この解析は省略されているユーザのアップロード要求をファイルアップロード機能を使用しました開発効率を向上させるためのプロセス。
- アップロードインターフェース
<--! 注意这里的name值,必须与后面处理上传请求的方法接收的参数相同 !-->
<form action="file/fileupload2" method="post" enctype="multipart/form-data">
选择文件:<input type="file" name="upload"><br>
<input type="submit" value="上传" >
</form>
- 設定ファイルのパーサをアップロード
<!-- 这里的bean的id 必须为 multipartResolver -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--这里还可以设置一些参数,如:文件上传大小的限制 -->
</bean>
- メソッドのアップロードを処理
@RequestMapping("/fileupload2")
public String fileUpload2(HttpServletRequest request, MultipartFile upload) throws Exception {
String path = request.getSession().getServletContext().getRealPath("/uploads/");
File file = new File(path);
if (!file.exists()){
file.mkdir();
}
// 获得到文件名
String filename = upload.getOriginalFilename();
filename = UUID.randomUUID().toString().replace("-","") + filename;
// 进行上传文件,上传结束之后,会自动删除掉临时文件
upload.transferTo(new File(path,filename));
return "success";
}
多くの伝統的な方法よりも効率的に見つけるのアップロード、SpringMVCファイルアップロードパーサーは、ヘルプのユーザーのアップロード要求に解決されました。