Java代碼
...Controller...{
//創建一個通用的多部分解析器.
CommonsMultipartResolver commonsMultipartResolver = new
CommonsMultipartResolver(request.getSession().getServletContext());
//設置編碼
commonsMultipartResolver.setDefaultEncoding(”utf-8″);
//判斷 request 是否有文件上傳,即多部分請求...
if (commonsMultipartResolver.isMultipart(request))
{
//轉換成多部分request
MultipartHttpServletRequest multipartRequest =
commonsMultipartResolver.resolveMultipart(request);
// file 是指 文件上傳標籤的 name=值
// 根據 name 獲取上傳的文件...
MultipartFile file = multipartRequest.getFile("file");
//上傳後記錄的文件...
File imageFile = new File("fileName");
//上傳...
file.transferTo(imageFile);
}
}
jsp代碼
<form name="form1" method="POST" enctype="multipart/form-data"
action="/msgupload" target="upload_if">
<button class="btn btn-primary able" name = "btnporject" id="queryfa"
type="button" style="float: inherit;"/>
請選擇要上傳的文件: <input type="file" name="file">
<input type="submit" id="sub" class="btn btn-primary" value="上傳">
<iframe name='upload_if' id="hidden_frame" style='display:none'></iframe>
</form>
java代碼
@RequestMapping(value = "/msgupload", method = RequestMethod.POST)
public String handleFileUpload(Model model, @RequestParam("file") MultipartFile file, HttpServletRequest request,
HttpServletResponse response) {
try{
if (!file.isEmpty()) { // 創建一個通用的多部分解析器.
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
// 判斷 request 是否有文件上傳,即多部分請求...
if (multipartResolver.isMultipart(request)) {
// 判斷 request 是否有文件上傳,即多部分請求...
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) (request);
Iterator<String> iter = multiRequest.getFileNames();
while (iter.hasNext()) {
MultipartFile file1 = multiRequest.getFile(iter.next());
String fileName = file1.getOriginalFilename();
String ftp_id = System.currentTimeMillis();
Properties propsFile = new Properties();
InputStream in = null;
String path1 = Thread.currentThread().getContextClassLoader().getResource("").getPath();
in = new BufferedInputStream(new FileInputStream(path1 + "ftpcontrol.properties"));
propsFile.load(in);
String path = propsFile.getProperty("upload_path") + ftp_id + ".zip";
File localFile = new File(path);
if (!(fileName.contains("zip"))) {
......
} else {
// 上傳文件
file1.transferTo(localFile);
int count = msgSendService.unZip(localFile);
if(count == 0) {
......
}
......
}
}
}
} else {
......
}
}catch(Exception e) {
......
}
......
}