spring boot 之文件上传

   @PostMapping("/addDealer")
    public Result adddealer(@RequestParam(value = "fileName",required = false) MultipartFile file, LogisticsDealer dealer, MultipartHttpServletRequest request){   
//图片上传
        if(file!=null&&!file.isEmpty()){
            try {
                /*
                 Resource resource=new ClassPathResource("static/assets/images");
                 if(resource.exists()){
                     String absPath=resource.getURL().getPath(); //获取到静态资源路径
                     String fileName=file.getOriginalFilename();
                     File f=new File(absPath,fileName);
                     BufferedOutputStream outputStream=new BufferedOutputStream(new FileOutputStream(f)); //输入输出流
                     outputStream.write(file.getBytes());
                     outputStream.flush();
                     outputStream.close();
                     File file1=new File("/assets/images",fileName);
                     String url="";
                     dealer.setPicture(url);
                 }
                 */

                String originalFilename = file.getOriginalFilename();
                //保存时的文件名
                DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
                Calendar calendar = Calendar.getInstance();
                String dateName = df.format(calendar.getTime());

                System.out.println(dateName);
                String newFileName =  dateName + originalFilename.substring(originalFilename.lastIndexOf(".") - 1);
                File newfile = null;
                try {
                    File path = new File(ResourceUtils.getURL("classpath:").getPath());
                    File upload = new File(path.getAbsolutePath(), "static/gysimages/");
                    if (!upload.exists()) upload.mkdirs();
                    String uploadPath = upload + "\\";
                    String pathname=uploadPath + newFileName;
                    newfile = new File(pathname);
                    file.transferTo(newfile);
                    dealer.setPicture(pathname);
                    //System.out.println(pathname);
                }catch (Exception e){
                    e.printStackTrace();
                }

             /*
                String basePath = request.getServletContext().getRealPath("templates/images/");
                System.out.println(basePath);
                File directory = new File(basePath);
                if (!directory.exists()) {
                    directory.mkdirs();
                }
                try {
                    String pathname=basePath + file.getName();
                    file.transferTo(new File(pathname));
                    dealer.setPicture(pathname);
                } catch (Exception e) {
                    e.printStackTrace();
                }
               */

            }catch (Exception e){
                e.printStackTrace();
            }
        }

        if(dealer.getRefreshTime()==null){
            dealer.setRefreshTime(new Date());
        }
        int result = logisticsDealerService.insertdealer(dealer);
        if(result>0){
            return Result.success("保存成功!");
        }else{
            return Result.error(501,"保存失败!");
        }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值