当前位置: 首页 > news >正文

官方网站下载微信深圳定制衣柜价格

官方网站下载微信,深圳定制衣柜价格,卡二卡三卡四精品,79招商创业网前言 好久没有更新spring Boot 这个项目了。最近看了一下docker 的知识#xff0c;后期打算将spring boot 和docker 结合起来。刚好最近有一个上传文件的工作呢#xff0c;刚好就想起这个脚手架#xff0c;将文件上传和下载整理进来。 配置 在application.properties 中增…前言 好久没有更新spring Boot 这个项目了。最近看了一下docker 的知识后期打算将spring boot 和docker 结合起来。刚好最近有一个上传文件的工作呢刚好就想起这个脚手架将文件上传和下载整理进来。 配置 在application.properties 中增加上传文件存放的路径配置 #文件上传目录 file.upload.urlE:/testcontroller 层 上传文件和下载文件都比较简单我们就直接在controller层来编写。也不用在pom.xml 中增加什么依赖。所以直接上代码。在controller 包下创建一个file包在file 包下创建一个FileController 类。 RestController RequestMapping(file) Slf4j public class FileController {Value(${file.upload.url})private String uploadFilePath;RequestMapping(/upload)public String httpUpload(RequestParam(files) MultipartFile files[]){JSONObject objectnew JSONObject();for(int i0;ifiles.length;i){String fileName files[i].getOriginalFilename(); // 文件名File dest new File(uploadFilePath / fileName);if (!dest.getParentFile().exists()) {dest.getParentFile().mkdirs();}try {files[i].transferTo(dest);} catch (Exception e) {log.error({},e);object.put(success,2);object.put(result,程序错误请重新上传);return object.toString();}}object.put(success,1);object.put(result,文件上传成功);return object.toString();}}上面的代码看起来有点多其实就是一个上传的方法首先通过 MultipartFile 接收文件。这里我用的是file[] 数组接收文件这是为了兼容多文件上传的情况如果只用file 接收然后在接口上传多个文件的话只会接收最后一个文件。这里大家注意一下。看自己的需求我这里兼容多文件所以用数组接收。 然后遍历files 获取文件下面这段代码是判断文件在所在目录是否存在如果不存在就创建对应的目录。 File dest new File(uploadFilePath / fileName);if (!dest.getParentFile().exists()) {dest.getParentFile().mkdirs();}files[i].transferTo(dest);就是将文件存放到对应的服务器这里有一点需要说明一下如果我们上传重复的文件会怎么样么上传重复的文件不会报错后上传的文件会直接覆盖已经上传的文件。 整体代码就是这样。现在就可以实现文件的上传操作。 测试 我们写好之后基本上传功能就已经实现了我们现在来测试一下。启动项目后我们用postman 请求因为我们需要上传文件用get 方式请求不了。 可以看到文件上传成功了由此可见springboot文件上传一个方法就搞定了。 文件下载 其实文件下载不太建议用接口做因为文件下载一般都是下载一些静态文件我们可以先将文件处理好然后通过Nginx 服务下载静态文件这样速度会快很多。但是这里我们还是写一下。代码也很简单就一个方法也写在fileController 类中 RequestMapping(/download)public String fileDownLoad(HttpServletResponse response, RequestParam(fileName) String fileName){File file new File(downloadFilePath / fileName);if(!file.exists()){return 下载文件不存在;}response.reset();response.setContentType(application/octet-stream);response.setCharacterEncoding(utf-8);response.setContentLength((int) file.length());response.setHeader(Content-Disposition, attachment;filename fileName );try(BufferedInputStream bis new BufferedInputStream(new FileInputStream(file));) {byte[] buff new byte[1024];OutputStream os response.getOutputStream();int i 0;while ((i bis.read(buff)) ! -1) {os.write(buff, 0, i);os.flush();}} catch (IOException e) {log.error({},e);return 下载失败;}return 下载成功;}代码也很简单就是根据文件名判断是否存在文件不存在就提示没有文件存在就将文件下载下来。response设置返回文件的格式以文件流的方式返回采用utf-8 字符集设置下载后的文件名。然后就是以文件流的方式下载文件了。 测试的话也简单我们启动项目访问接口 http://localhost:9090/zlflovemm/file/download?fileName11http://localhost:9090/zlflovemm/file/download?fileName1.rar可以看到如果文件存在会直接下载不会提示下载成功或者失败。 删除文件 删除文件是很简单的我这里讲一下删除文件下所有文件夹和文件。并做一个定时任务每天清理一次。 Scheduled(cron0 0 3 * * ?)private void deleteFiles(){deleteFile(new File(deleteFilePath));}public void deleteFile(File file){//判断文件不为null或文件目录存在if (file null || !file.exists()){log.info(暂无文件);return;}//取得这个目录下的所有子文件对象File[] files file.listFiles();//遍历该目录下的文件对象for (File f: files){//打印文件名String name f.getName();log.info(name);//判断子目录是否存在子目录,如果是文件则删除if (f.isDirectory()){deleteFile(f);}else {f.delete();}}//删除空文件夹 for循环已经把上一层节点的目录清空。file.delete();}
http://www.pierceye.com/news/950295/

相关文章:

  • 余姚 网站建设济南网站开发薪酬
  • 一流高职院校建设工作网站野花香社区在线观看播放
  • 大连建设科技网站绿色主题 wordpress
  • 外网访问不了内网建设的网站做网站电销
  • 桂平市住房和城乡建设局网站杭州app定制公司
  • 免费做金融网站自己做网站想更换网址
  • 浙江省网站建设公司成都五月花网页设计培训
  • 江苏外贸网站建设网站开发工作流审批流
  • 自媒体论坛交流推荐网站外部优化
  • 南宁网络建站直接用源码做网站盗版吗
  • 哪些网站可以做驾考试题旅游网站排名排行榜
  • 网站宣传专利被罚账户竞价托管费用
  • 芙蓉区网站建设qq建设网站首页
  • 做音乐网站怎么放音乐常州网红打卡景点
  • 网站做的题不小心关闭了如何成为室内设计师
  • 营销型网站建设公司地址外贸网站seo优化
  • 建设网站是什么科目wordpress对接易支付宝
  • wordpress英文意思能做SEO优化的网站建设
  • 海沧建设网站多少一站式服务英文
  • wordpress网站需要多大空间建设营销型网站
  • id97网站怎么做的项目营销策划方案
  • 站群网站怎么做缓存
  • 网站(网店)建设方案范文北京网站搭建服务
  • 建设银行网站怎么设置转账额度百度竞价培训班
  • 八大员继续教育入口做优化网站注意什么
  • 网络空间服务商宁波seo网络推广推荐公众号
  • 网站登录注册做验证码的目地汕头网站建设浩森宇特
  • 做鼻翼整形整形的网站开原网站开发
  • 宿州专业网站建设学做app
  • 宁德商城网站开发设计个人网站在那建设