文件上传依赖
<!--文件上传依赖的版本号-->
<commons-fileupload.version>1.3.1</commons-fileupload.version>
<commons-io.version>2.4</commons-io.version>
<!--上传依赖-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io.version}</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${commons-fileupload.version}</version>
<exclusions>
<exclusion>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</exclusion>
</exclusions>
</dependency>
controller(rootPath上传位置需要自己指定)
import com.neusiri.epcstest.util.JsonRESTResult;
import com.neusiri.epcstest.util.JsonRESTResultMsg;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
@RestController
@RequestMapping("/upload")
public class FileUploadController {
@RequestMapping("/file")
public JsonRESTResult pictureUpload(MultipartFile file, HttpServletRequest request){
JsonRESTResult jsonRESTResult = new JsonRESTResult();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS");
String res = sdf.format(new Date());
try{
// 上传位置
String rootPath = "/upload";
// 原始名称
String originalFileName = file.getOriginalFilename();
// 新文件名
String newFileName = res + originalFileName.substring(originalFileName.lastIndexOf("."));
System.out.println("新文件名:"+newFileName);
// 创建年月文件夹
Calendar date = Calendar.getInstance();
File dateDirs = new File(date.get(Calendar.YEAR) + File.separator + (date.get(Calendar.MONTH)+1));
// 新文件
File newFile = new File(rootPath + File.separator + dateDirs + File.separator + newFileName);
if( !newFile.getParentFile().exists()) {
// 如果目标文件所在的目录不存在,则创建父目录
newFile.getParentFile().mkdirs();
}
System.out.println(newFile);
// 将内存中的数据写入磁盘
file.transferTo(newFile);
// 完整的url
String fileUrl = date.get(Calendar.YEAR) + "/" + (date.get(Calendar.MONTH)+1) + "/" + newFileName;
jsonRESTResult.setCode(JsonRESTResultMsg.CODE_800.getCode());
jsonRESTResult.setMsg("文件上传成功");
jsonRESTResult.setData(newFile);
}catch(Exception e){
jsonRESTResult.setCode(JsonRESTResultMsg.CODE_500.getCode());
jsonRESTResult.setMsg("文件上传失败");
jsonRESTResult.setData(null);
}
return jsonRESTResult;
}
}
postman测试