美文网首页SpringbootSpringBoot
springboot实现文件上传下载,(利用tomcat8搭建文

springboot实现文件上传下载,(利用tomcat8搭建文

作者: 风也醉 | 来源:发表于2019-06-11 10:39 被阅读300次

    项目中有涉及到上传附件,上传照片等类似需求,且需要提供下载。由于这些量不大,可以直接用七牛云存储或者阿里云存储等类似东西,但是不想花钱,项目不大,就想用tomcat来作为文件服务器,文件直接上传到自己的服务器上即可。

    第一步:先创建tomcat文件服务器。

    上传文件到服务器,如果自己配置用类似tomcat的容器的话,每次重启服务器后 文件会消失,或者会存在丢失现象,解决方式:利用虚拟目录,将tomcat和上传的文件分离。具体就是利用tomcat配置将某个请求映射到物理路径下,完成文件回显。这样文件可以存放在本地,或者远程服务器上,而非tomcat上面。在http://xx.xx.xx.xx:xxxx/服务器上, tomcat配置为

    tomcat 配置

    web.xml 修改配置为(为true 可以查看列表,false 就是关闭,为了看出效果,就打开)

    web.xml配置

    这样启动tomcat后 浏览器访问地址,结果如下:

    第二步:上传文件

    html中部分代码如下:

    html文件

    vue中 方法如下:

    vue中方法

    后台controller 中的mapping ,其中 downloadDir 和 isForTest 是写在 application.yml中,区别测试和正式服务器

    FileUtil.java

    FileUtil.java

    页面显示

    点击上传

    上传结果:

    第三步:下载

    下载可以直接用windows.location.href =url   这种对jpg 或者txt类型文件 会被直接打开,用XMLHttpRequest来下载,如下

    下载方法

    jqGrid的colModel 中 显示如下

    此时下载会提示  跨域问题

    跨域bug

    再次下载,成功!

    相关文章

      网友评论

        本文标题:springboot实现文件上传下载,(利用tomcat8搭建文

        本文链接:https://www.haomeiwen.com/subject/bylffctx.html