js接收文件流并下载

js接收文件流并下载

标签(空格分隔): js

在此输入正文

<script type="text/javascript">
    function download(filename) {
        var oReq = new XMLHttpRequest();
        oReq.open("GET", "<你的返回流的Action路径>", true);
        oReq.responseType = "blob";
        oReq.onload = function (oEvent) {
            var content = oReq.response;

            var elink = document.createElement('a');
            elink.download = filename;
            elink.style.display = 'none';

            var blob = new Blob([content]);
            elink.href = URL.createObjectURL(blob);

            document.body.appendChild(elink);
            elink.click();

            document.body.removeChild(elink);
        };
        oReq.send();
    }
</script>

原文地址:https://www.cnblogs.com/yanweifeng/p/10886454.html

时间: 2024-10-17 23:59:45

js接收文件流并下载的相关文章

通过文件流stream下载文件

public ActionResult ShowLocalizedXML(int id) { string orderName = ""; string xmlString = GetXmlStream(id,out orderName); ViewBag.Xml = xmlString; XmlDocument doc = new XmlDocument(); doc.CreateComment(xmlString); byte[] array = Encoding.UTF8.Get

利用Node 搭配uglify-js压缩js文件,批量下载图片到本地

Node的便民技巧-- 压缩代码 下载图片 压缩代码 相信很多前端的同学都会在上线前压缩JS代码,现在的Gulp Webpack Grunt......都能轻松实现.但问题来了,这些都不会,难道就要面对几十个JS文件一遍遍来回“复制-压缩-创建-粘贴”,这样太不人性化了. 于是可以借助Node + uglify-js 轻松实现.(前提你会点node操作) 1.首先看一下目录: |--uglifyJS |--js |--test1.js |--test2.js |--uglify.js   //这

js 下载文件流

这个问题,先描述下最初的思路: 1.从接口中获取到文件流: 2.在浏览器中下载文件流: 按照上述问题在网上找答案,DOM File API,XMLHTTP,asp方法好多. 最后用最简单的方法window.location.href = apiUrl;直接实现了. 现在想想,就是一步下载,分开走就麻烦了.

Node.js——fs模块(文件系统),创建、删除目录(文件),读取写入文件流

1 /* 2 1. fs.stat 检测是文件还是目录(目录 文件是否存在) 3 2. fs.mkdir 创建目录 (创建之前先判断是否存在) 4 3. fs.writeFile 写入文件(文件不存在就创建,但不能创建目录) 5 4. fs.appendFile 写入追加文件 6 5. fs.readFile 读取文件 7 6. fs.readdir 读取目录 8 7. fs.rename 重命名 9 8. fs.rmdir 删除目录 10 9. fs.unlink 删除文件 11 */ 12

vue文件流转换成pdf预览(pdf.js+iframe)

参考文档:https://www.jianshu.com/p/242525315bf6 PDFJS: https://mozilla.github.io/pdf.js/     支持获取文件流到客户端,生成blob地址预览 ViewerJS: http://viewerjs.org/   预览pdf文件,其pdf文件只能url地址 Vue-pdf https://github.com/FranckFreiburger/vue-pdf 会出现空白页( 推荐使用iframe方法 ) 无论从功能.兼容

原生js 文件 上传 下载封装

一 . 下载 1.代码 const fileDownloadClick = (obj) => { // 解决兼容 if( document.all ){ obj.click(); } else { let event = document.createEvent("MouseEvents"); event.initEvent('click', true, true); obj.dispatchEvent(event); } } const fileDownload = (res,

前端接收后端返回的文件流导出Excel

需求:接收后端返回的文件流导出Excel 自己项目中遇到过,亲测有效 情况二使用过程中解决的问题: 1.直接接受的文件流下载格式为txt且乱码.需要通过 下面这句代码来转成Excel: let url = new Blob([xmlHttp.response], { type: 'application/vnd.ms-excel' }); 2.文件名乱码,显示数字单词组成的随机字符串.需要后端在header中返回文件名,转义获取 //文件名 link.download = decodeURICo

原生Javascript使用fetch发起请求_模拟get|post|文件流下载等

有时候,我们无法借助熟悉的jquery发起请求,原生JS里是支持fetch函数的,这是个高度封装的方法,帮助我们做了很多底层的封装,下面列举一些发起请求的示例: 1-发起Get请求: //httpGet请求 var httpGet = async function (getUrl) { var opts = { method: "GET", credentials: 'include' // 强制加入凭据头 } await fetch(getUrl, opts).then((respo

js打开新的链接下载文件

var p =params.join("&"); var a = document.createElement('a'); a.href = 'report/exportpubcount.do'+p; a.target = '_blank'; a.id='exppub'; document.body.appendChild(a); var alink = document.getElementById('exppub'); alink.click(); alink.parent