zoukankan      html  css  js  c++  java
  • 下载网站自己的文件(eg:excel)的写法

    这个功能可能不会经常用到,一般都是服务器传文件过来但是有时候有些文件在PC上不会有性能问题的话还是可以用用的,
    因为vue的摇树算法会让没有引用的静态文件都在打包的时候不会放入静态文件夹,所以这里要使用到第三方的一个插件就是copy-webpack-plugin,可以在vue-cli3

    const CopyWebpackPlugin = require("copy-webpack-plugin");
      configureWebpack: config => {
        config.plugins.push(
          new CopyWebpackPlugin({
            patterns: [
              {
                from: path.resolve(__dirname, "./src/assets/files"),
                to: "./files",
                globOptions: {
                  ignore: [".*"]
                }
              }
            ]
          })
        );
      }
    

      

    需要更多配置可以查询npm上的插件文档,这里就是说我要把assets/files这个文件下的excel拷贝到我打包后根目录下的files文件夹
    然后在要下载的地方使用iframe进行下载,为什么不用a标签的download是因为考虑到ie的兼容问题,所以写法如下:

     var elemIF = document.createElement("iframe");
          elemIF.src = `${window.location.protocol}//${window.location.host}/files/你的excel或者rar或者什么的`;
          elemIF.style.display = "none";
          document.body.appendChild(elemIF);
    

      


    这里我没有用window.open(文件的相对路径)
    是因为在hash路游下这么干路由也会混乱,而且如果本地配置了proxy的话调用的时候也会出现404的问题好像是去服务端请求了,history模式下没试过,有更好的方案的话欢迎各位指出

  • 相关阅读:
    spring 之 AOP
    spring 之 动态代理
    为 NSDate 添加扩展类 判断时间
    iOS 日期相关总结
    iOS 请求出现 "Request failed: bad request (400)"
    NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802) 解决办法
    poj-3302
    辽宁省赛——杨鲁斯卡尔专场-J
    辽宁省赛——杨鲁斯卡尔专场 -F
    zzuli训练赛_05_13-D
  • 原文地址:https://www.cnblogs.com/llcdbk/p/13222783.html
Copyright © 2011-2022 走看看