写点什么

SpringBoot 文件上传临时目录找不到的问题

  • 2022 年 4 月 16 日
  • 本文字数:1109 字

    阅读完需:约 4 分钟

1,前台肯定是搭配 multipart/form-data springMvc 这个组件上传滴。





2,后台代码 参考就行了我这里用了 SFTP 上传文件到云服务器,文件上传工具参考我的其中一篇博客




[https://blog.csdn.net/qq_39751120/article/details/98664730](()?


@Log("文件上传")


@ResponseBody


@PostMapping("/upload")


@RequiresPermissions("common:companyremittance:upload")


R upload(@RequestParam("file") MultipartFile file,@RequestParam("arrys") String arrys, @RequestParam("commpanyname")


String commpanyname,@RequestParam("remittancedate") String remittancedate,HttpServletRequest request) throws ParseException, IOException {


//先上传到图片服务器上面然后在读取信息


int prostatusId=0;


if(StringUtils.isEmpty(arrys)){


return R.error("导入失败");


}


String oldName = file.getOriginalFilename();


//使用 IDUtils 工具类生成新的文件名,新文件名 = newName + 文件后缀


String newName = IDUtils.genImageName();


newName = newName + oldName.substring(oldName.lastIndexOf("."));


SftpUtils ft = new SftpUtils();


//通过 SFtoInfo 参数连接传入参数即可


Session s = ft.getSession(SFTPInfo.SFTP_REQ_HOST,SFTPInfo.SFTP_DEFAULT_PORT, SFTPInfo.SFTP_REQ_USERNAME,SFTPInfo.SFTP_REQ_PASSWORD);


Channel channel = ft.getChannel(s);


ChannelSftp sftp = (ChannelSftp)channel;


Boolean upload = ft.uploadFile(sftp,SFTPInfo.basePath, file.getInputStream(),newName);


SaveDO saveDO=new SaveDO();


if(upload){


//上传成功关闭信息


saveDO.setFileurl(SFTPInfo.baseUrl+ "/" + newName);


saveDO.setFilename(oldName);


saveDO.setFilesize(String.valueOf(file.getSize()));


saveDO.setImportdate(new Date());


saveDO.setIpaddr(IPUtils.getIpAddr(request));


saveDO.setUsername(ShiroUtils.getUser().getUsername());


saveDO.setSftpupurl("/usr/fjl/file"); //这里是文件路径上传服务器里面路径 记得 chomd 777


saveDO.setNewfilename(newName);


saveService.save(saveDO);


//根据 proentId 查询项目的状态


CompanyremittanceDO companyremittanceDO1=new CompanyremittanceDO();


companyremittanceDO1.setProparentid(Long.valueOf(arrys));


CompanyremittanceDO aDo = companyremittanceService.getProjectStatus(arrys);


if (aDo != null) {


companyremittanceDO1.setProstatus(aDo.getProstatus());


} else {


Java 开源项目【ali1024.coding.net/public/P7/Java/git】

最后

这份清华大牛整理的进大厂必备的 redis 视频、面试题和技术文档


祝大家早日进入大厂,拿到满意的薪资和职级~~~加油!!


感谢大家的支持!!



用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
SpringBoot文件上传临时目录找不到的问题_Java_爱好编程进阶_InfoQ写作平台