有没有办法通过设置文件的 mime 类型、标题、内容等在 JavaScript 中创建文件(例如:PDF)并在浏览器中显示并提供下载选项?
我在 javascript 中有一个 pdf 的 Base64 字节流,我正在使用它通过以下方式向用户显示 pdf:
document.location.href = 'data:application/pdf;base64,' +data;
它在新窗口中打开文件(它适用于除 IE 之外的所有浏览器,因为它有 url 限制),并且文件不能在所有浏览器中下载。IE 是测试我的应用程序的主要浏览器,所以这是一个大问题。
使用 Java 等后端技术创建文件并将其作为响应发送的选项被排除,因为我有一个 ABAP 后端,它只能给我字节流。许多人建议使用 jsPdf,但 jsPdf 从 javascript 创建内容(例如逐行设置信息和格式)并使用它。但由于我已经拥有我需要的所有数据和格式,我无法使用它。
这是我在网页中询问字节转换和显示 pdf 的问题,得到了回答,以获取更多信息: 如何将字符串形式的十六进制字节流转换为 javascript 中的实际字节流?
我已尽力寻找解决方案,但还没有找到。