Java SpringBoot 上传图片到服务器,完美可用

基本上每个我们项目都会有上传图片的操作

老规矩先上效果图

1.首先贴一下上传文件的工具类

import java.io.File;
import java.io.FileOutputStream;

/**
 * @Author: Manitozhang
 * @Data: 2019/1/9 16:51
 * @Email: [email protected]
 *
 * 文件工具类
 */
public class FileUtil {

    public static void uploadFile(byte[] file, String filePath, String fileName) throws Exception {
        File targetFile = new File(filePath);
        if(!targetFile.exists()){
            targetFile.mkdirs();
        }
        FileOutputStream out = new FileOutputStream(filePath+fileName);
        out.write(file);
        out.flush();
        out.close();
    }

}

2.再贴一下Controller层的代码

    @Resource
    HttpServletRequest request;

    //处理文件上传
    @RequestMapping(value="/testuploadimg", method = RequestMethod.POST)
    public @ResponseBody String uploadImg(@RequestParam("file") MultipartFile file) {
        String fileName = file.getOriginalFilename();
        //设置文件上传路径
        String filePath = request.getSession().getServletContext().getRealPath("imgupload/");
        try {
            FileUtil.uploadFile(file.getBytes(), filePath, fileName);
            return "上传成功";
        } catch (Exception e) {
            return "上传失败";
        }
    }

因为我们的路径是上传到SpringBoot自带的Tomcat服务器中,所以在项目中看不到,不过可以直接获取到

声明:这个方法只要Tomcat重启之后之前上传的图片就会丢失

这就可以上传成功了,上传位置可以修改

你可能感兴趣的:(java,java,spring,boot,开发语言,架构,运维)