首页 > 其他分享 >JS直接下载PDF文件

JS直接下载PDF文件

时间:2024-02-02 11:56:46浏览次数:26  
标签:name JS xhr window version link var PDF 下载

if (ext == "pdf") {
var index = _fileUri.lastIndexOf('/');
var name = _fileUri.substr(index + 1);

var xhr = new XMLHttpRequest();
xhr.open('get', _fileUri, true);
xhr.responseType = 'blob';
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
if (typeof window.chrome !== 'undefined') {
// Chrome version
var link = document.createElement('a');
link.href = window.URL.createObjectURL(xhr.response);
link.download = name;
link.click();
} else if (typeof window.navigator.msSaveBlob !== 'undefined') {
// IE version
var blob = new Blob([xhr.response], { type: 'application/pdf' });
window.navigator.msSaveBlob(blob, name);
} else {
// Firefox version
var file = new File([req.response], name, { type: 'application/force-download' });
window.open(URL.createObjectURL(file));
}
}
};
xhr.send();
}

标签:name,JS,xhr,window,version,link,var,PDF,下载
From: https://www.cnblogs.com/pyj03/p/18002909

相关文章

  • js+css 父div,里面有很多子div,当子div在父div中放不下时候,自动滚动子div,向左横向滚动,
    <!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <metaname="viewport"content="width=device-width,initial-scale=1.0">  <style>    #parentDiv{  ......
  • 易优CMS采集发布插件-免费下载
    推荐一款可以自动采集网页文章数据,并发布到易优cms网站的易优CMS采集发布插件,支持对接简数采集器,火车头采集器,八爪鱼采集器,后羿采集器等大多数网页采集软件。易优CMS采集发布插件使用教程如下:1. 下载并安装易优CMS采集发布插件1-1)易优CMS采集发布插件免费下载地址:易优CMS采集......
  • 依赖注入之IConfiguration 访问appSetting.json
    (1)创建NET6Webapi(2)appsettings.json{"Logging":{"LogLevel":{"Default":"Information","Microsoft.AspNetCore":"Warning"}},"AllowedHosts":"*&q......
  • 解决wsl ubuntu无法code .命令无法下载对应包的问题
    使用code.命令报错,原因:vscode.cdn.azure.cn已被弃用UpdatingVSCodeServertoversionb3e4e68a0bc097f0ae7907b217c1119af9e03435Removingpreviousinstallation...InstallingVSCodeServerforx64(b3e4e68a0bc097f0ae7907b217c1119af9e03435)Downloading:100%Fa......
  • js通过Image()获取图片尺寸
    注意需要在浏览器中使用,需要加载dom对象才能生效,如果直接使用jest将会报错超时exportconstgetImgSize=(url:string):Promise<object>=>{returnnewPromise((resolve)=>{letimgObj=newImage()imgObj.src=urlimgObj.onload=()......
  • Python3 JSON
    PythonJSON转换 python3的json.loads不支持encoding#python3.11JSON序列化、反序列化importjsondefdata=’{\"Message":"消息", \"Timestamp":"时间戳" \}' #字符串转换编码集为UTF-8json_str=data.encode('ut......
  • js处理事件:异步处理事件与线程,使用队列按序执行,事件广播,事件bus,事件监听,变量监听,动态
    js处理事件:异步处理事件与线程,使用队列按序执行,事件广播,事件bus,事件监听,变量监听,动态执行,父子通信在Vue3中,你可以使用以下方法来处理异步事件、线程、队列执行、事件广播、事件总线、事件监听、变量监听、动态执行和父子通信:1.异步处理事件:可以使用async/await或Promise......
  • quickjs-emscripten webassembly 包
    quickjs-emscripten是基于emscripten将quickjsc版本,编译为了webassembly方便通过npm使用包含的特性支持node以及web使用安全的执行js(支持到es2020)quickjsruntime进行创建以及维护值暴露主机函数到quickjsruntime通过asyncify支持执行异步代码参考使用app.mjs......
  • 国外的为初学者写的js教程
    EmbeddingandincludingwriteandwritelnDocumentobjectMessageboxFunctionEventhandlerFormLinkDateWindowFrameEmbeddingandincludingLet'sfirstseeasimpleexample:<html><head><title>ThisisaJavaScriptexample......
  • 解决Unity中PackageManager无法下载插件的问题
    参考解决方法:1.断网打开unity,Packagemanager能够显示需下载的插件,然后再联网下载(但是可能下载失败,笔者就是这种情况)2.修改工程文件Packages的maifest.json,在里面直接导入你要下载的插件,前提你已经下载过了我这里是导入cinmemachine,在unity就显示导入成功......