資源簡介
Maven管理jar包,SSM搭建上傳下載源碼實現,直接加載可運行。

代碼片段和文件信息
package?com.java.controller;
import?java.io.BufferedInputStream;
import?java.io.BufferedOutputStream;
import?java.io.File;
import?java.io.FileInputStream;
import?java.net.URLEncoder;
import?java.util.List;
import?javax.servlet.http.HttpServletRequest;
import?javax.servlet.http.HttpServletResponse;
import?org.springframework.beans.factory.annotation.Autowired;
import?org.springframework.stereotype.Controller;
import?org.springframework.web.bind.annotation.PathVariable;
import?org.springframework.web.bind.annotation.RequestMapping;
import?org.springframework.web.bind.annotation.RequestParam;
import?org.springframework.web.multipart.MultipartFile;
import?org.springframework.web.servlet.ModelAndView;
/***
?*?文件上傳控制類
?*?@author?swinglife
?*
?*/
@Controller
@RequestMapping(“/files“)
public?class?FileUploadController?{
//通過Spring的autowired注解獲取spring默認配置的request
@Autowired
private?HttpServletRequest?request;
?@RequestMapping(“/download/{fileName:.+}“)
?public?void?download(@PathVariable?String?fileNameString?fileOldName?HttpServletRequest?request?HttpServletResponse?response)?throws?Exception?{
???????????BufferedInputStream?bis?=?null;
BufferedOutputStream?bos?=?null;??
//獲取下載文件露肩???????轉碼方法???.getBytes(“iso-8859-1“)?“utf-8“
String?downLoadPath?=?request.getSession().getServletContext().getRealPath(“/“)?+?“upload\\“+?new?String(fileName);?
//獲取文件的長度??
long?fileLength?=?new?File(downLoadPath).length();??
//設置文件輸出類型??
response.setCharacterEncoding(“utf-8“);??
????????response.setContentType(“multipart/form-data“);?
response.setHeader(“Content-disposition“?“attachment;?filename=“
????????+?URLEncoder.encode(fileOldName?“UTF-8“));
//設置輸出長度
response.setHeader(“Content-Length“?String.valueOf(fileLength));??
//獲取輸入流??
bis?=?new?BufferedInputStream(new?FileInputStream(downLoadPath));
//輸出流??
bos?=?new?BufferedOutputStream(response.getOutputStream());??
byte[]?buff?=?new?byte[2048];??
int?bytesRead;??
while?(-1?!=?(bytesRead?=?bis.read(buff?0?buff.length))){??
????bos.write(buff?0?bytesRead);??
}
//關閉流
bis.close();??
bos.close();
}?
/***
?*?上傳文件?用@RequestParam注解來指定表單上的file為MultipartFile
?*?
?*?@param?file
?*?@return
?*/
@RequestMapping(“fileUpload“)
public?String?fileUpload(@RequestParam(“file“)?MultipartFile?file)?{
//?判斷文件是否為空
if?(!file.isEmpty())?{
try?{
//?文件保存路徑
String?filePath?=?request.getSession().getServletContext().getRealPath(“/“)?+?“upload/“
+?file.getOriginalFilename();
//?轉存文件
file.transferTo(new?File(filePath));
}?catch?(Exception?e)?{
e.printStackTrace();
}
}
//?重定向
return?“redirect:/filesUpload.jsp“;
}
/***
?*?讀取上傳文件中得所有文件并返回
?*?
?*?@return
?*/
@RequestMapping(“list“)
public?ModelAndView?list()?{
String?filePath?=?request.getSession().getServletContext().getRealPath(“/“)?+?“upload/“;
ModelAndView?mav?=?new?ModelAndView(“list“);
File?uploadDest?=?new?File(filePath);
String[]?fileNames?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????738??2017-11-16?14:42??ssm?Maven?Webapp\.classpath
?????文件?????????316??2017-11-16?14:42??ssm?Maven?Webapp\.myme
?????文件????????1922??2017-02-17?11:36??ssm?Maven?Webapp\.project
?????文件?????????508??2017-02-15?18:03??ssm?Maven?Webapp\.settings\.jsdtscope
?????文件?????????246??2017-11-15?16:48??ssm?Maven?Webapp\.settings\com.genuitec.eclipse.core.prefs
?????文件??????????56??2017-02-17?11:36??ssm?Maven?Webapp\.settings\com.genuitec.eclipse.j2eedt.core.prefs
?????文件?????????430??2017-02-25?11:24??ssm?Maven?Webapp\.settings\org.eclipse.jdt.core.prefs
?????文件??????????90??2017-02-25?14:16??ssm?Maven?Webapp\.settings\org.eclipse.m2e.core.prefs
?????文件?????????578??2017-11-16?14:42??ssm?Maven?Webapp\.settings\org.eclipse.wst.common.component
?????文件?????????252??2017-02-25?14:16??ssm?Maven?Webapp\.settings\org.eclipse.wst.common.project.facet.core.xm
?????文件??????????49??2017-02-15?18:03??ssm?Maven?Webapp\.settings\org.eclipse.wst.jsdt.ui.superType.container
?????文件???????????6??2017-02-15?18:03??ssm?Maven?Webapp\.settings\org.eclipse.wst.jsdt.ui.superType.name
?????文件????????5166??2017-02-16?08:28??ssm?Maven?Webapp\pom.xm
?????文件????????3242??2017-11-16?11:24??ssm?Maven?Webapp\src\main\java\com\java\controller\FileUploadController.java
?????目錄???????????0??2017-11-16?14:45??ssm?Maven?Webapp\src\main\java\com\java\dao\
?????目錄???????????0??2017-11-16?14:45??ssm?Maven?Webapp\src\main\java\com\java\mapping\
?????目錄???????????0??2017-11-16?14:45??ssm?Maven?Webapp\src\main\java\com\java\model\
?????目錄???????????0??2017-11-16?14:45??ssm?Maven?Webapp\src\main\java\com\java\service\iml\
?????文件????????1000??2017-02-28?14:14??ssm?Maven?Webapp\src\main\java\com\javen\util\HandlerInterceptor.java
?????文件????????1938??2017-02-27?11:26??ssm?Maven?Webapp\src\main\java\com\javen\util\PageAssitant.java
?????文件?????????415??2017-02-17?11:32??ssm?Maven?Webapp\src\main\java\com\javen\util\StringTool.java
?????文件????????1780??2017-03-08?16:22??ssm?Maven?Webapp\src\main\resources\generatorConfig.xm
?????文件?????????446??2017-02-16?15:35??ssm?Maven?Webapp\src\main\resources\jdbc.properties
?????文件????????1222??2017-02-15?18:04??ssm?Maven?Webapp\src\main\resources\log4j.properties
?????文件????????3515??2017-11-15?15:17??ssm?Maven?Webapp\src\main\resources\spring-mvc.xm
?????文件????????3136??2017-02-16?09:21??ssm?Maven?Webapp\src\main\resources\spring-mybatis.xm
?????文件??????????39??2017-02-15?18:03??ssm?Maven?Webapp\src\main\webapp\me
?????文件????????1671??2017-02-16?17:04??ssm?Maven?Webapp\src\main\webapp\WEB-INF\classes\com\java\controller\UserController.class
?????文件?????????383??2017-02-16?17:04??ssm?Maven?Webapp\src\main\webapp\WEB-INF\classes\com\java\dao\UsermMapper.class
?????文件????????2115??2017-02-15?18:32??ssm?Maven?Webapp\src\main\webapp\WEB-INF\classes\com\java\mapping\UsermMapper.xm
?????文件?????????888??2017-02-16?17:04??ssm?Maven?Webapp\src\main\webapp\WEB-INF\classes\com\java\model\Userm.class
............此處省略41個文件信息
評論
共有 條評論