首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从Base64字符串下载的JavaScript文件在IE中不起作用

问题描述: 从Base64字符串下载的JavaScript文件在IE中不起作用。

解答: 这个问题可能是由于IE浏览器对于Base64编码的JavaScript文件的处理方式不同于其他浏览器所导致的。为了解决这个问题,可以尝试以下几种方法:

  1. 使用Blob对象: 将Base64字符串转换为Blob对象,然后创建一个URL对象,将Blob对象赋值给URL对象的href属性,最后创建一个a标签,设置其href属性为URL对象的URL,然后模拟点击a标签来下载文件。以下是示例代码:
代码语言:txt
复制
function downloadFileFromBase64(base64String, fileName) {
  var blob = base64ToBlob(base64String);
  var url = URL.createObjectURL(blob);
  
  var a = document.createElement('a');
  a.href = url;
  a.download = fileName;
  a.click();
  
  URL.revokeObjectURL(url);
}

function base64ToBlob(base64String) {
  var byteCharacters = atob(base64String);
  var byteArrays = [];
  
  for (var i = 0; i < byteCharacters.length; i++) {
    byteArrays.push(byteCharacters.charCodeAt(i));
  }
  
  var byteArray = new Uint8Array(byteArrays);
  
  return new Blob([byteArray], { type: 'application/javascript' });
}

推荐的腾讯云相关产品:对象存储(COS)。 产品介绍链接地址:https://cloud.tencent.com/product/cos

  1. 使用Data URI scheme: 将Base64字符串直接嵌入到Data URI scheme中,然后将这个Data URI scheme赋值给a标签的href属性,模拟点击a标签来下载文件。以下是示例代码:
代码语言:txt
复制
function downloadFileFromBase64(base64String, fileName) {
  var dataURI = 'data:application/javascript;base64,' + base64String;
  
  var a = document.createElement('a');
  a.href = dataURI;
  a.download = fileName;
  a.click();
}

推荐的腾讯云相关产品:对象存储(COS)。 产品介绍链接地址:https://cloud.tencent.com/product/cos

  1. 使用FileSaver.js库: FileSaver.js是一个用于在浏览器中保存文件的JavaScript库,它提供了一种简单的方式来处理Base64字符串的文件下载。首先引入FileSaver.js库,然后使用saveAs函数来保存文件。以下是示例代码:
代码语言:txt
复制
function downloadFileFromBase64(base64String, fileName) {
  var blob = base64ToBlob(base64String);
  saveAs(blob, fileName);
}

function base64ToBlob(base64String) {
  var byteCharacters = atob(base64String);
  var byteArrays = [];
  
  for (var i = 0; i < byteCharacters.length; i++) {
    byteArrays.push(byteCharacters.charCodeAt(i));
  }
  
  var byteArray = new Uint8Array(byteArrays);
  
  return new Blob([byteArray], { type: 'application/javascript' });
}

推荐的腾讯云相关产品:对象存储(COS)。 产品介绍链接地址:https://cloud.tencent.com/product/cos

希望以上方法能够解决您在IE浏览器中从Base64字符串下载JavaScript文件不起作用的问题。如果还有其他疑问,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • C#实现图片转Base64字符串,以及base64字符串在Markdown文件内复原的演示

    引用1.0.3版本或以上的Wesky.Net.OpenTools 包 1.0.3 版本提供图片转Base64字符串方案,并提供根据后缀名自动识别Mime类型,合成标准URI 该nuget包支持.net...Github:https://github.com/LittleLittleRobot/OpenTools.git 为了简单操作,我直接把base64字符串,外面套一层,让它支持md文件展示。...[avatar](base64字符串)的形式,即可被markdown所识别,并显示未原始图片。 复制该全部字符串内容,粘贴到任意markdown文本编辑器内。...以下我用Typora实验,可以看到自动解析出文本,并显示了我用来实验的图片。 核心代码解析: /// /// 将图片文件转换为 Base64 编码的字符串。... /// 返回 Base64 编码的图片字符串。Returns a Base64-encoded image string.

    7610

    在Bash中如何从字符串中删除固定的前缀后缀

    更多好文请关注↑ 问: 我想从字符串中删除前缀/后缀。例如,给定: string="hello-world" prefix="hell" suffix="ld" 如何获得以下结果?...如果模式与 parameter 扩展后的值的开始部分匹配,则扩展的结果是从 parameter 扩展后的值中删除最短匹配模式(一个 # 的情况)或最长匹配模式(## 的情况)的值 ${parameter...如果模式与 parameter 扩展后的值的末尾部分匹配,则扩展的结果是从 parameter 扩展后的值中删除最短匹配模式(一个 % 的情况)或最长匹配模式(%% 的情况)的值。...e "s/$suffix$//" o-wor 在sed命令中,^ 字符匹配以 prefix 开头的文本,而结尾的 匹配以 参考文档: stackoverflow question 16623835...在Bash中如何将字符串转换为小写 在shell编程中$(cmd) 和 `cmd` 之间有什么区别 如何从Bash变量中删除空白字符 更多好文请关注↓

    53410

    在NETCORE中,实现对AzureBLOB文件的上传下载操作

    在之前的文章中,说到了SeaweedFS和MinIO,如果是使用的微软全家桶的话,那肯定就使用Azure Blob了,更直接、更简单和更高效。 一、什么是Azure Blob?   ...但是,blob经常和数据库一起用来存储不可查询的的数据,例如图片文件存储在Blob中,数据库中保存对应用户头像的Blob名称或URL。 说白了,其实Azure Blob就是一个文件服务器。...如果项目中有对于的图片资源,视频资源,文件等资源,我们就可以考虑到将这些数据都存储在Azure Blob中。文章的后半段我将通过一个简单的 .NET Core 程序去操作 Blob 存储对象。...可以直接上传BLOB块 也可以在线下载 三、在ASP.NETCore中使用Azure Blob 1、配置并读取配置参数 "AzureADAppSetup": { "blobAccountName...,获取blog字符串的时候,用到了{0}占位符来控制我们的私钥,那接下来咱们就说说Azure K8s中经常用到了KeyVault技术。

    52410

    在javascript中如何将字符串转成变量或可执行的代码?

    有这样一个需求:当前作用域内有未知的一些变量,其中一个函数中可以拿到某个变量名字符串,怎么能在函数内通过传进来的字符串取到作用域链中的变量值,示例小 demo 如下: const name = '周小黑...' const age = 18 /** * @param {String} e 变量名字符串 * @returns value 通过变量名字符串在作用域链中取到的变量值 */ function...主要有三种方式: eval() 函数 eval() 函数会将传入的字符串当做 JavaScript 代码进行执行,所以下面的字符串可以正确取到变量对应的值,eval 对比 new Function 和...setTimeout 定时器 setTimeout 的第一个参数我们平时都是传一个函数,它其实也是可以传字符串进去的,在浏览器中是可以正常执行的,在node环境中会报错。...实际上浏览器中也是不推荐这么用的,另外需要注意的是字符串中的变量只能访问全局作用域,不能访问局部作用域,如果全局作用域中没有,就是 undefined。

    86630

    如何绕过XSS防护

    () (攻击者在剪切选定内容之前执行攻击字符串) onBeforeDeactivate() (从当前对象更改activeElement后立即激发) onBeforeEditFocus() (在可编辑元素中包含的对象进入...(ASF)文件处理嵌入在ASF文件中的脚本命令时,会触发此事件) seekSegmentTime() (这是一个在元素的段时间线上定位指定点并从该点开始播放的方法。...有些网站认为评论块中的任何内容都是安全的,因此不需要删除,这就允许我们使用跨站点脚本。 或者系统可以在某些东西周围添加注释标记,试图使其无害化。如我们所见,这可能不起作用. 的例子,其中存储在cookie中的用户名不是从数据库中获取的,而是只显示给访问页面的用户。...+\s*|\s*)src/i“使用重音符(同样,在Firefox中不起作用).

    3.9K00

    IE10以下的IE浏览器在form表单提交、a标签等场景下,接收applicationjson类型的响应时,会提示是否要下载该json文件

    IE10以下的IE浏览器并不支持application/json这种response格式,所以需要在服务端先将对象转成json字符串然后,设置Content-Type为text/html的类型,再返回,...如果你用的是springMVC,那么即使在controller层使用response对象设置了响应头信息,也是没有用的,因为如果你标识了@Responsebody注解,spring会自动根据你的返回值类型判断是否要给你将返回值转成某个视图对象...(具体根据你的springMVC的配置,一般是json),如果配置的是json,那么就会自动返回application/json这种类型,解决方法如下: 1、去掉@Responsebody注解; 2、不要设置返回值...; 3、通过以下两行代码实现数据的返回: response.setContentType("text/html;charset=UTF-8"); response.getWritter().print(..."要返回的字符串");

    88110

    Web阶段:第十五章:文件上传&下载

    文件的上传介绍 文件的上传和下载功能是很多系统中非常常见的功能。非常的重要。...这是需要下载的。Content-Disposition是内容-配置,而attachment表示附件,也就是下载的一个文件。fileName=后面,表示下载的文件名。...完成上面的两个步骤,下载文件是没问题了。但是如果我们要下载的文件是中文名的话。你会发现,下载无法正确显示出正确的中文名。 原因是在响应头中,不能包含有中文字符,只能包含ASCII码。...我们需要使用URLEncoder类先对中文名进行UTF-8的编码操作。 因为IE浏览器和谷歌浏览器收到含有编码后的字符串后会以UTF-8字符集进行解码显示。...BASE64的编解码方式还原响应中的汉字。

    33320

    前端网络高级篇(六)网站性能优化

    使用data:URL展示图片,它可以在页面中渲染图片但无需额外的HTTP请求,请求格式: base64, xxxxxxxxxxxxxxxx"> 缺点是:...它通过在服务端将资源(CSS文件,HTML片段,Javascript代码或者base64编码的图片)打包成一个由双方约定的字符串分割的长字符串,并发送到客户端。...然后用Javascript代码处理这个长字符串,并根据他的mime-type类型和传入的其他‘头信息’解析出每个资源。...将样式表放在顶部 外部脚本文件和CSS文件是并行下载的,把样式表在页面中的位置并不影响下载时间,但会影响页面的呈现!浏览器必须要等样式表加载完毕之后才渲染页面。...defer和async 两者都支持异步加载文件,不同之处是,defer会在全部资源下载完毕后才执行JS文件;async在脚本文件下载完就立刻执行,并且,async模式加载的JS文件无法依序执行,对于有顺序依赖的脚本来说

    1.9K30

    聊点Python:在Django中利用zipfile,StringIO等库生成下载的文件​

    最近在django中要用到文件下载的功能,通过查找,发现以下几种方式,就收集在一起,供日后方便查找。 第一种方式:创建一个临时文件。可以节省了大量的内存。...ok,因为都是读入到内存中,但如果某个文件特别大,就不能使用这种方式,那就应该采用另外一种方式,下面就是展示一下,在Django中的大文件下载如何写代码实现。...如果文件非常大时,最简单的办法就是使用静态文件服务器,比如Apache或者Nginx服务器来处理下载。...不过有时候,我们需要对用户的权限做一下限定,或者不想向用户暴露文件的真实地址,或者这个大内容是临时生成的(比如临时将多个文件合并而成的),这时就不能使用静态文件服务器了。...我们在django view中,需要用StreamingHttpResponse这两个类。

    1.9K40

    在IIS6中新增可下载文件类型的方法

    在“扩展名”框中,键入文件扩展名。   在“MIME 类型”框中,键入与客户端计算机上所定义的文件类型完全匹配的说明。   注意 还可以为无扩展名或未定义 MIME 类型的文件创建 MIME 类型。...在“扩展名”框中,键入文件扩展名。   在“MIME 类型”框中,键入与客户端计算机上所定义的文件类型完全匹配的说明。...将 MIME 类型从网站或目录中删除   在 IIS 管理器中,右键单击要从中删除 MIME 类型的网站或网站目录,单击“属性”。   单击“HTTP 头”选项卡。   单击“MIME 类型”。   ...从“注册的 MIME 类型”列表中,单击要删除的 MIME 类型,然后单击“删除”。   单击“确定”。   ...如:   要增加*.ISO文件为可下载,操作步骤如下,   在 IIS 管理器中,右键单击要为其添加 MIME 类型的网站或网站目录,单击“属性”。   单击“HTTP 头”选项卡。

    1.2K50

    在pycharm中如何新建Python文件?_github下载的python源码项目怎么用

    如果想把项目提交到github有多种方法,最常用的还是使用git,当然也可以下载github Desktop这种GUI界面的工具,直接点点鼠标就可以提交项目。...git下载地址:https://git-scm.com/downloads GitHub官网:https://github.com/ git安装很简单,根据默认安装,点击下一步就行。...pycharm中设置 在pycharm需要配置github的账户名和密码,以及要提交的仓库,具体操作如下 File-settings 在搜索框输入git 如上面图所示,搜索框会出现github,然后在旁边输入你...初始化后会发现该文件夹下多了个.git的文件夹。...pycharm中配置仓库提交 点击VSC ——》Import into Version Control ——》Share Project on Github 因为有默认的名称,我这里是已经建过仓库了

    2.8K20

    如何使用`grep`命令在文本文件中查找特定的字符串?

    如何使用grep命令在文本文件中查找特定的字符串? 摘要 在这篇技术博客中,我将详细介绍如何使用grep命令在文本文件中查找特定的字符串。...引言 在日常工作中,我们经常需要在文件中查找特定的字符串,以便进行分析、调试或修改。而grep命令正是为此而生。它提供了丰富的搜索选项和灵活的使用方式,可以满足各种需求。...本文将深入探讨grep命令的用法,帮助您轻松应对各种搜索任务。 正文内容(详细介绍) 什么是grep命令? grep是一个强大的文本搜索工具,用于在文件中查找匹配特定模式的字符串。...基本用法 grep "pattern" file_name 上述命令将在指定的文件file_name中搜索匹配pattern的字符串,并将其打印到标准输出。...,您现在应该已经了解了如何使用grep命令在文本文件中查找特定的字符串。

    11100

    base64图片转码

    然后调用: Base64 在CSS中的使用 .demoImg{ background-image: url("data:image/jpg;base64,/9j/4QMZRXhpZgAASUkqAAgAAAAL......."); } Base64 在HTML中的使用 base64,/9j/4QMZRXhpZgAASUkqAAgAAAAL...我们把图像文件的内容直接写在了HTML 文件中,这样做的好处是,节省了一个HTTP 请求。 坏处呢,就是浏览器不会缓存这种图像。...如果你用的是IE8,如果你想编码图片,更简单的方法是,自己写一个HTML网页,把本地图片放进去,然后用IE8打开该网页,然后保存为mht文件,然后用记事本打开mht文件,你就会看 到图片以及被编码过了...在mht文件中,每一个NextPart下面都会有类似下面的几行说明字段: Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location

    3.4K30

    JS 图片压缩

    文件上传后,在访问文件时中也有图片的压缩配置选项,不过,能不能自己撸一套 JS 实现的图片压缩代码呢?...encoderOptions 可选 在指定图片格式为 image/jpeg 或 image/webp 的情况下,可以从 0 到 1 的区间内选择图片的质量。如果超出取值范围,将会使用默认值 0.92。...非主流浏览器下载处理 到此可以解决 Chroma 、 Firefox 和 Safari(自测支持) 浏览器的下载功能,因为 IE 等浏览器不支持 download 属性,所以需要进行其他方式的下载,也就有了代码中的后续内容...window.atob(encodedStr) encodedStr 必需,是一个通过 btoa() 方法编码的字符串,btoa() 是 base64 编码的使用方法。...Api 解析:window.navigator // 官方已不建议使用的文件下载方式,仅针对 ie 且兼容性 10 以上 // msSaveBlob 仅提供下载 // msSaveOrOpenBlob

    25.8K21

    图片压缩原理

    文件上传后,在访问文件时中也有图片的压缩配置选项,不过,能不能自己撸一套 JS 实现的图片压缩代码呢?...encoderOptions 可选 在指定图片格式为 image/jpeg 或 image/webp 的情况下,可以从 0 到 1 的区间内选择图片的质量。如果超出取值范围,将会使用默认值 0.92。...非主流浏览器下载处理 到此可以解决 Chroma 、 Firefox 和 Safari(自测支持) 浏览器的下载功能,因为 IE 等浏览器不支持 download 属性,所以需要进行其他方式的下载,也就有了代码中的后续内容...window.atob(encodedStr) encodedStr 必需,是一个通过 btoa() 方法编码的字符串,btoa() 是 base64 编码的使用方法。...Api 解析:window.navigator // 官方已不建议使用的文件下载方式,仅针对 ie 且兼容性 10 以上 // msSaveBlob 仅提供下载 // msSaveOrOpenBlob

    4.7K31
    领券