【发布时间】:2011-10-06 09:48:25
【问题描述】:
当我向服务器发起异步调用时,我收到 PDF 文件的 base64 数据(二进制数据)。我想将此 base64 数据转换为二进制文件,并从浏览器端以文件形式提供给用户。我找到了 downloadify 进行下载。但我仍然坚持在 JS 中将 base 64 编码数据转换为二进制数据的部分
【问题讨论】:
标签: javascript base64 decode
当我向服务器发起异步调用时,我收到 PDF 文件的 base64 数据(二进制数据)。我想将此 base64 数据转换为二进制文件,并从浏览器端以文件形式提供给用户。我找到了 downloadify 进行下载。但我仍然坚持在 JS 中将 base 64 编码数据转换为二进制数据的部分
【问题讨论】:
标签: javascript base64 decode
为什么要转换? ;) 只需将您的链接作为data:application/pdf;base64, 提供,然后您使用base64 编码的pdf。
当然,不能在旧的 IE 中工作。但应该适用于大多数现代浏览器。
【讨论】:
即使您在 javascript 中将 base64 数据转换为二进制(我发现服务器甚至会这样做非常奇怪 - 首先发送二进制数据),您将无法生成下载链接在javascript中。
所以写转换代码是没有意义的。
让服务器使用正确的Content-Type: 和Content-Disposition: 标头直接发送二进制数据。
您甚至可以添加Content-Encoding: base64 标头,浏览器会自行转换。
【讨论】: