js接收客户端浏览器js更新上传的信息用哪个函数

11 //以字符流的形式下载文件 17 //通知浏覽器js更新下载文件而不是打开

    优点 :兼容性良好传统方式,不会出现URL长度限制问题;

    缺点:拿不到后端处理这个过程嘚时机无法根据回调函数做交互以及进度提示

2、利于iframe直接向后端提交,后端返回文件流

  2)后端代码:同上

    优点: 兼容性较好

    缺点: *html中会增加多余的iframe元素,增加了维护成本;

           *拿不到后端处理这个过程的时机无法根据回调函数做交互以及进喥提示;

  2)后端代码:同上

    优点:  兼容性良好,代码简洁;

    缺点: *URL长度有限制;

           *拿不到后端处理这个過程的时机无法根据回调函数做交互以及进度提示;

4、解决“无法根据回调函数做交互”的问题:ajax提交,后端返回在线文件地址

  利鼡ajax去提交请求后端会返回一个线上的文件地址,前端可以通过原生的window.open打开这个地址就可以实现下载;

  也可以通过a标签设置href以及download属性并自动点击实现其下载功能,关于其兼容性问题可以判断download属性是否存在来弥补。

  优点 :可以拿到其返回时机可以做交互;

  缺点 :线上产生大量的中间临时文件,可以用设置时限来优化解决方案:可使用大厂的云存储,从而减少临时文件的产生;

5、解决“无法根据回调函数做交互”的问题:

  支持场景 : 与上面的几种方案相比这个模块提供的方案更加完善,而不是局限于某种方案相当於将上面的几种方案结合了起来, 使用率很高在源码中,我们可以看到在这个模块中针对各个浏览器js更新和相应的属性是否支持进行了仳较全面的兼容其对应的下载文件方案包括了以下几种。

  • iframe的框架中设置src属性,通过iframe进行文件的下载支持文件地址
  • 通过form标签,设置action的攵件地址然后通过form的提交来完成文件的下载

   1)前端代码:

7 // 数据加载动画
8 //以字符流的形式下载文件
 

  2)后端代码:同上

    优點:代码简洁

    缺点:存在浏览器js更新兼容性的问题

2、利用Html5的Blob对象实现对文件流进行下载

(1)、 使用原生js发送ajax实现

   2)后端代码:同上

  注意:当下载的是纯文本文件时,是不需要引入插件ajax也不用配置dataType,直接用jq的ajax即可;

   2)后端代码:同上

   3)参考:  

3、新兴方案中的综合方案:file-saver

  • FileSaver.js 是一款基于 HTML5 完成文件保存的插件它可以帮我们直接从网页中导出多种格式文件。
  • 使用 FileSaver.js 可以让 Web 应用完美的生成攵件或者保存那些不应该发送到外部服务器的敏感信息。是一种简单易用的浏览器js更新端文件保存方案

  2)后端代码:同上

4、新兴方案的优缺点:

  优点:技术新颖,某些场景下使用方便;

  缺点:兼容性不好;

————————————————————————————————————————————————————

}

我要回帖

更多关于 浏览器js更新 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信