SpringBoot文件上传

#文件上传
写在前面:data数据是关于文件的一些相关描述进行存储

   /**
 * 单文件上传
 *
 * @param file
 * @param data
 * @return
 */
@RequestMapping(value = "/uploadFile", produces = "application/json;charset=UTF-8")
@ResponseBody
public Map<String,Object> uploadFile(@RequestParam("file") MultipartFile file,
                         @RequestParam("data") String data) {
    try {
        //判断文件是否为空
        if (file.isEmpty()) {
           return ResponseUtil.status_400();
        }

        // 获取原文件名
        String fileName = file.getOriginalFilename();

        //新建文件实体类 将文件原始名 文件名 存储路径
        MaterialDocumentEntity materialDocument = new MaterialDocumentEntity();
        materialDocument.setDocumentOrname(fileName);
        //加个时间戳,尽量避免文件名称重复
        fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + "_" + fileName;
        materialDocument.setDocumentName(fileName);
        //TODO  String filePath = FILE_URL_PREFIX + File.separator + fileName;
        String filePath = "c:/temp" + File.separator + fileName;
        materialDocument.setFileUrl(filePath);
        //创建文件路径
        File dest = new File(filePath);
        //判断文件是否已经存在
        if (dest.exists()) {
            return ResponseUtil.status_400();
        }
        //判断文件父目录是否存在
        if (!dest.getParentFile().exists()) {
            dest.getParentFile().mkdir();
        }
        //上传 保存文件
        file.transferTo(dest);
        //调用文件
        Map<String,Object> documentData = JSONObject.parseObject(data);
        tenderDocumentService.addTenderDocument(materialDocument,documentData);
        return ResponseUtil.status_200();
    } catch (Exception e) {
        LOGGER.error("uploadFile 异常 e:" + e);
        return ResponseUtil.status_500();
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值