資源簡介
SpringMVC框架實現文件的上傳和下載項目案例源碼
代碼片段和文件信息
package?cn.edu.jseti.controller;
import?java.io.File;
import?javax.servlet.http.HttpServletRequest;
import?org.apache.commons.io.FileUtils;
import?cn.edu.jseti.domain.User;
import?org.springframework.http.HttpHeaders;
import?org.springframework.http.HttpStatus;
import?org.springframework.http.MediaType;
import?org.springframework.http.ResponseEntity;
import?org.springframework.stereotype.Controller;
import?org.springframework.ui.Model;
import?org.springframework.web.bind.annotation.ModelAttribute;
import?org.springframework.web.bind.annotation.PathVariable;
import?org.springframework.web.bind.annotation.RequestMapping;
import?org.springframework.web.bind.annotation.RequestMethod;
import?org.springframework.web.bind.annotation.RequestParam;
import?org.springframework.web.multipart.MultipartFile;
/**
?*?@author?Cody
?*?@version?V1.0?
?*/
@Controller
public?class?FileUploadController?{
@RequestMapping(value=“/{formName}“)
?public?String?loginForm(@PathVariable?String?formName)?{
//?動態跳轉頁面
return?formName;
}
//上傳文件會自動綁定到MultipartFile中
?@RequestMapping(value=“/upload“method=RequestMethod.POST)
?public?String?upload(HttpServletRequest?request
@RequestParam(“description“)?String?description
@RequestParam(“file“)?MultipartFile?file)?throws?Exception?{
?
????System.out.println(description);
????//如果文件不為空,寫入上傳路徑
if(!file.isEmpty())?{
//上傳文件路徑
String?path?=?request.getServletContext().getRealPath(“/images/“);
//上傳文件名
String?filename?=?file.getOriginalFilename();
????File?filepath?=?new?File(pathfilename);
//判斷路徑是否存在,如果不存在就創建一個
????????if?(!filepath.getParentFile().exists())?{?
???????? filepath.getParentFile().mkdirs();
????????}
????????//將上傳文件保存到一個目標文件當中
file.transferTo(new?File(path?+?File.separator?+?filename));
return?“success“;
}?else?{
return?“error“;
}
?
?}
?
?@RequestMapping(value=“/register“)
?public?String?register(HttpServletRequest?request
?@ModelAttribute?User?user
?Model?model)?throws?Exception?{
System.out.println(user.getUsername());
//如果文件不為空,寫入上傳路徑
if(!user.getImage().isEmpty())?{
//上傳文件路徑
String?path?=?request.getServletContext().getRealPath(“/images/“);
//上傳文件名
String?filename?=?user.getImage().getOriginalFilename();
????File?filepath?=?new?File(pathfilename);
//判斷路徑是否存在,如果不存在就創建一個
????????if?(!filepath.getParentFile().exists())?{?
???????? filepath.getParentFile().mkdirs();
????????}
????????//將上傳文件保存到一個目標文件當中
????????user.getImage().transferTo(new?File(path?+?File.separator?+?filename));
????????//將用戶添加到model
????????model.addAttribute(“user“?user);
????????return?“userInfo“;
}?else?{
return?“error“;
}
}
?
?@RequestMapping(value=“/download“)
?public?ResponseEntity?download(HttpServletRequest?request
?@RequestParam(“filename“)?String?filename
?Model?model)throws?Exception?{
//下載文件路徑
String?path?=?request.ge
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????841??2017-04-05?12:19??FileUpload\.classpath
?????文件???????1043??2017-04-05?12:19??FileUpload\.project
?????文件????????567??2017-04-05?12:19??FileUpload\.settings\.jsdtscope
?????文件????????364??2017-04-05?12:19??FileUpload\.settings\org.eclipse.jdt.core.prefs
?????文件????????482??2017-04-05?12:19??FileUpload\.settings\org.eclipse.wst.common.component
?????文件????????345??2017-04-05?12:19??FileUpload\.settings\org.eclipse.wst.common.project.facet.core.xm
?????文件?????????49??2017-04-05?12:19??FileUpload\.settings\org.eclipse.wst.jsdt.ui.superType.container
?????文件??????????6??2017-04-05?12:19??FileUpload\.settings\org.eclipse.wst.jsdt.ui.superType.name
?????文件???????4916??2017-04-05?13:03??FileUpload\build\classes\cn\edu\jseti\controller\FileUploadController.class
?????文件????????917??2017-04-05?12:32??FileUpload\build\classes\cn\edu\jseti\domain\User.class
?????文件???????3863??2017-04-05?13:03??FileUpload\src\cn\edu\jseti\controller\FileUploadController.java
?????文件????????616??2017-04-05?12:31??FileUpload\src\cn\edu\jseti\domain\User.java
?????文件?????????39??2017-04-05?12:19??FileUpload\WebContent\me
?????文件????????367??2017-04-05?12:30??FileUpload\WebContent\WEB-INF\content\error.jsp
?????文件????????733??2017-04-05?12:21??FileUpload\WebContent\WEB-INF\content\registerForm.jsp
?????文件????????387??2017-04-05?12:30??FileUpload\WebContent\WEB-INF\content\success.jsp
?????文件????????736??2017-04-05?12:21??FileUpload\WebContent\WEB-INF\content\uploadForm.jsp
?????文件????????496??2017-04-05?12:31??FileUpload\WebContent\WEB-INF\content\userInfo.jsp
?????文件??????69002??2017-04-05?12:21??FileUpload\WebContent\WEB-INF\lib\commons-fileupload-1.3.1.jar
?????文件?????185140??2017-04-05?12:21??FileUpload\WebContent\WEB-INF\lib\commons-io-2.4.jar
?????文件??????60686??2017-04-05?12:21??FileUpload\WebContent\WEB-INF\lib\commons-logging-1.1.1.jar
?????文件?????363974??2017-04-05?12:21??FileUpload\WebContent\WEB-INF\lib\spring-aop-4.2.0.RELEASE.jar
?????文件??????58354??2017-04-05?12:21??FileUpload\WebContent\WEB-INF\lib\spring-aspects-4.2.0.RELEASE.jar
?????文件?????729550??2017-04-05?12:21??FileUpload\WebContent\WEB-INF\lib\spring-beans-4.2.0.RELEASE.jar
?????文件????1084471??2017-04-05?12:21??FileUpload\WebContent\WEB-INF\lib\spring-context-4.2.0.RELEASE.jar
?????文件?????179731??2017-04-05?12:21??FileUpload\WebContent\WEB-INF\lib\spring-context-support-4.2.0.RELEASE.jar
?????文件????1052383??2017-04-05?12:21??FileUpload\WebContent\WEB-INF\lib\spring-core-4.2.0.RELEASE.jar
?????文件?????262391??2017-04-05?12:21??FileUpload\WebContent\WEB-INF\lib\spring-ex
?????文件???????7240??2017-04-05?12:21??FileUpload\WebContent\WEB-INF\lib\spring-instrument-4.2.0.RELEASE.jar
?????文件??????10560??2017-04-05?12:21??FileUpload\WebContent\WEB-INF\lib\spring-instrument-tomcat-4.2.0.RELEASE.jar
............此處省略69個文件信息
評論
共有 條評論