springboot java图片上传到 mongo (GridFS 存储文件)

1. 控制器代码
    @Autowired
    FileService fileServiceImpl;

    @RequestMapping(value = "UploadFiles", method = RequestMethod.POST)
    @ResponseBody
    public Object handleFileUpload(HttpServletRequest request) throws Exception {

        List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("file");
        MultipartFile multipartFile = null;
        ResponseVo response = new ResponseVo();

        request.setCharacterEncoding("UTF-8");
        for (int i = 0; i < files.size(); ++i) {
            multipartFile = files.get(i);
            if (!multipartFile.isEmpty()) {
                String uploadFilePath = multipartFile.getOriginalFilename();
                System.out.println("uploadFlePath:" + uploadFilePath);
                String uploadFileName = uploadFilePath.substring(
                        uploadFilePath.lastIndexOf('\\') + 1, uploadFilePath.indexOf('.'));
                System.out.println("multiReq.getFile()" + uploadFileName);
                // 截取上传文件的后缀
                String uploadFileSuffix = uploadFilePath.substring(
                        uploadFilePath.lastIndexOf('.'), uploadFilePath.length());
                System.out.println("uploadFileSuffix:" + uploadFileSuffix);

                 File file1 = File.createTempFile(uploadFileName,uploadFileSuffix);

                multipartFile.transferTo(file1);
                fileServiceImpl.uploadPic(file1);

                file1.delete(); //删除缓存file
            } else {
                System.out.println("上传文件为空");
            }
        }
        response.setCode(Constant.SUCCESS_CODE);
        return response;
    }

2.业务层

@Autowired
FileDao fileDao;

@Override
public String uploadPic(File file) throws Exception {
    return fileDao.uploadPic(file);
}

3.数据层

@Resource
public MongoTemplate mongoTmp; 
 public String uploadPic(File file) throws Exception{
        GridFS gridFS = new GridFS(mongoTmp.getDb(),"phone_pic");
        GridFSInputFile gridFSInputFile = gridFS.createFile(file);
 
        gridFSInputFile.setFilename(file.getName());
        gridFSInputFile.save();
        return gridFSInputFile.getId().toString();
    }

 

4.springboot 配置就不说了,配好数据库和文件上传的size就好

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值