springboot 上传图片(多张和单张都可以)

@RequestMapping("/upload")
@ResponseBody
public String handleFileUpload(HttpServletRequest request) {
    MultipartHttpServletRequest params = ((MultipartHttpServletRequest) request);
    List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("file");
    System.out.println("files" + files);
	//接收前端传过来的字段
    //String name = params.getParameter("name");
    MultipartFile file = null;
    //先设置一个数组来装file路径
    List imgs = new ArrayList();
   //设置图片路径
	private final String UPLOAD_FOLDER = "pic/";
    for (int i = 0; i < files.size(); ++i) {
        file = files.get(i);
        if (!file.isEmpty()) {
            try {
                byte[] bytes = file.getBytes();
                // 获取图片的文件名
                String fileName = file.getOriginalFilename();
                // 获取图片的扩展名
                String extensionName = fileName.substring(fileName.lastIndexOf(".") + 1);
                // 新的图片文件名 = 获取时间戳+"."图片扩展名
                String newFileName = String.valueOf(System.currentTimeMillis()) + "." + extensionName;
                //图片路径
                Path path = Paths.get(UPLOAD_FOLDER + newFileName);
				//System.out.println("lj: " + path);
                imgs.add(path);
                //如果没有files文件夹,则创建
                if (!Files.isWritable(path)) {
                    Files.createDirectories(Paths.get(UPLOAD_FOLDER));
                }
                //文件写入指定路径
                Files.write(path, bytes);
            } catch (Exception e) {
                return "图片上传失败 " + i + " => " + e.getMessage();
            }
        } else {
            return "图片上传失败 " + i + " because the file was empty.";
        }
    }
    return "图片上传成功";
}

猜你喜欢

转载自my.oschina.net/u/2428630/blog/2251025