0)導入文件上傳的依賴
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
1)jsp頁面
<h3>傳統文件上傳</h3>
<form action="jspfileupload" method="post" enctype="multipart/form-data">
選擇文件:<input type="file" name="upload2" /><br/>
<input type="submit" value="上傳" />
</form>
2)編寫控制器FileUploadController
@RequestMapping("/jspfileupload")
public String fileuoload1(HttpServletRequest request) throws Exception {
System.out.println("文件上傳...");
// 使用fileupload組件完成文件上傳
// 上傳的位置
String path = request.getSession().getServletContext().getRealPath("/uploads/");
// 判斷,該路徑是否存在
File file = new File(path);
if(!file.exists()){
// 創建該文件夾
file.mkdirs();
}
// 解析request對象,獲取上傳文件項
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
// 解析request
List<FileItem> items = upload.parseRequest(request);
// 遍歷
for(FileItem item:items){
// 進行判斷,當前item對象是否是上傳文件項
if(item.isFormField()){
// 說明普通表單向
}else{
// 說明上傳文件項
// 獲取上傳文件的名稱
String filename = item.getName();
// 把文件的名稱設置唯一值,uuid
String uuid = UUID.randomUUID().toString().replace("-", "");
filename = uuid+"_"+filename;
// 完成文件上傳
item.write(new File(path,filename));
// 刪除臨時文件
item.delete();
}
}
return "index";
}
有問題的可以私聊我哈!!!!!