前端代码:
<body>
<h1>success</h1>
<h2>上传日志文件</h2>
<form action="/logfile/upload" method="post" enctype="multipart/form-data">
<input type="file" name="uploadFile" value="post">
<input type="submit" value="提交">
</form>
<h2>下载日志文件</h2>
<form action="/logfile/download" method="post">
<input type="text" name="playerId" value="post">
<input type="submit" value="提交">
</form>
</body>
后台代码:
package com.dianping.controller;
import com.dianping.model.AddResult;
import com.dianping.utils.PropertiesUtil;
import org.apache.commons.io.FileUtils;
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.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Created by dc on 2017/3/1.
*/
@Controller
@RequestMapping("logfile")
public class LogfileUploadController {
@RequestMapping("upload")
@ResponseBody
public Object upload(@RequestParam("uploadFile") CommonsMultipartFile uploadFile){
/*或者 public Object upload(MultipartFile uploadFile){*/
AddResult addResult = new AddResult();
String path=PropertiesUtil.getValue("logFileAddr")+uploadFile.getOriginalFilename();
File newFile=new File(path);
if(newFile.exists()){
newFile.delete();
}
if(!newFile.exists()){
newFile.mkdirs();
}
try {
uploadFile.transferTo(newFile);
addResult.setStatus(200);
} catch (IOException e) {
e.printStackTrace();
addResult.setStatus(400);
}
return addResult;
}
@RequestMapping("/download")
public ResponseEntity<byte[]> download(HttpServletRequest request){
String fileName = request.getParameter("playerId");
HttpHeaders headers = new HttpHeaders();
try {
//headers.setContentDispositionFormData("myfile", fileName+".zip");//只能下载zip文件
headers.setContentDispositionFormData("myfile", fileName);
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
// 获取物理路径
//String filePath = PropertiesUtil.getValue("logFileAddr")+fileName+".zip";
String filePath = PropertiesUtil.getValue("logFileAddr")+fileName;
File pic = new File(filePath);
return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(pic), headers, HttpStatus.CREATED);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
ssm框架中上传后台接口报错问题:
https://blog.csdn.net/u011692041/article/details/51660030
@RequestMapping(value = "uploadFiles")
public String testPostFiles(@RequestParam("files") MultipartFile files[], String name, String pass) {
for (int i = 0; i < files.length; i++) {
System.out.println("第" + (i + 1) + "个文件");
System.out.println("file-name = " + files[i].getOriginalFilename());
System.out.println("file-length = " + files[i].getSize() + "\n");
}
System.out.println("name = " + name);
System.out.println("pass = " + pass);
return "success";
}
<body>
<form enctype="multipart/form-data" action="test/uploadFile"
method="POST">
name: <input type="text" name="desc" /> file: <input type="file"
name="file" /> <input type="submit" value="提交" />
</form>
</body>
<bean name="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"></property>
</bean>
(如果我的文章可以帮到各位,请各位给点个小心心支持下,我会发表更多文章,尽请期待)