美文网首页
Layui-文件下载

Layui-文件下载

作者: 矢量演说 | 来源:发表于2020-05-13 22:05 被阅读0次
  • 我遇到的一个严重的问题:访问不到

已知本地读取文件的确是这种格式,但是Spring Security太严格了,不让我访问

file:///D:/Homework/毕业设计/参考文献大合集/参考论文/淘宝店铺CRM战略及具体实施.pdf

参考了一下如下文章:
Not allowed to load local resource: 报错解决方法
关于Not allowed to load local resource问题解决方案

所以需要在WebMvcConfigurationSupport的继承类里设置一下可以访问……
但是问题又来了,这个前面好像一定得.addResourceHandler("/upload/**")才能.addResourceLocations("file:D:/upload/");,这就很烦了,我并不想重新设置访问路径,因为我数据库里存的文件、图片位置是本地路径,这样我每次读都要重新拼字符串了,好烦。

@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/login").setViewName("login");
        registry.addViewController("/").setViewName("index");
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
        registry.addResourceHandler("/upload/**").addResourceLocations("file:D:/upload/");
//        registry.addResourceHandler("/static/treetable-lay/treetable.js").addResourceLocations("classpath:/static/treetable-lay/treetable.js");
    }

}

layui相关的文件下载有点少,我甚至去找原生js中怎么实现的。

Layui文件下载
layui文件上传到下载
js实现点击下载文件

1、使用<a>标签
<a href="../../static/xxx.xlsx" download="xxx.xlsx">下载</a>
直接点击可以下载,需要注意的是download属性,当不加download属性时,如果文件格式为txt、pdf、jpg等浏览器支持直接打开的文件格式,那么不会下载,而是浏览器直接打开;添加download属性之后,就会下载,并且下载文件默认命名为你download属性的值。(参考: https://blog.csdn.net/jsnancy/article/details/80824801
2、使用window.open()
window.open("../../static/xxx.xlsx")
window.open("https://mp.csdn.net/postedit/static/xxx.xlsx")
当然,下载的资源可以是本地的,也可以是网上的。
————————————————
版权声明:本文为CSDN博主「走_开」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/believet93/article/details/99821853

最后用的方法是直接window.open();,然后去掉D:两个字符……鬼知道这有多危险,前端做这操作还好,后端如果读到文件路径为空的话,就会空指针异常了。

        //查看签订文件
        $('#downSignFile').on('click',function(data) {
            var signFile = $("#signFile").val().substring(2);
            window.open(signFile);
        });
        //查看条款文件
        $('#downClauseFile').on('click',function(data) {
            var clauseFile = $("#clauseFile").val().substring(2);
            window.open(clauseFile);
        });
        //查看签名文件
        $('#downSignature').on('click',function(data) {
            var signature = $("#signature").val().substring(2);
            window.open(signature);
        });

建议我自己再检查一下这些个傻瓜式解法,或当初添加信息时强制要求上传文件或图片,确保有路径被存储了。
这个以后需要改进,因为如果没有文件的话,subString方法会返回空指针异常。
后台用下面这种方法解决了,唉。

        // D:/upload/ProgressCert_MT20200503173207.jpg
        if(maintain.getChargeCertFile()==null || maintain.getChargeCertFile().length()<=3){
            showCert2 = "xxx";
        }else{
            showCert2 = maintain.getChargeCertFile().substring(2);
        }
        model.addAttribute("showCert2",showCert2);

相关文章

  • Layui-文件下载

    我遇到的一个严重的问题:访问不到 已知本地读取文件的确是这种格式,但是Spring Security太严格了,不让...

  • Layui-文件上传与图片上传

    主要还是参考别人的方法,我用的是这篇里的方法 SpringBoot 结合layUI实现文件上传 这篇是我Secur...

  • Android 零碎知识点和技巧

    使用DownloadManager下载文件 下载文件 监听下载结果 文件下载断点续传 1.获取已下载的文件长度. ...

  • js文件下载

    1.文件流下载 根据后台接口文件流下载 调用 2.文件地址下载 根据文件地址下载文件 调用 3.base64流下载...

  • wget下载数据

    下载单个文件 -nc: 继续下载中断的操作 下载目录下面所有文件 下载多个文件:

  • 文件下载

    由于不同的浏览器兼容不同,对于直接a标签下载文件,有的浏览器可以,有的浏览器会直接播放。为了保证下载操作的正确执行...

  • 文件下载

    常见的文件格式: 文件下载HTML 图片文件下载PHP

  • 文件下载

    IOUtils 的对应包 需要关闭流的对象放在try()内不用写关闭代码

  • 文件下载

    文件下载是实际项目中经常用的一个接口,不同于图片下载客户端自己保存就可以了,需要开放对应的接口。同时,一般会结合P...

  • 文件下载

    1.小文件下载 1.1下载方式 【NSData dataWithContentsOfURL:】 [NSURLCon...

网友评论

      本文标题:Layui-文件下载

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