在JavaScript中是否可以将字节数组/流转换为Word,Excel, PDF等文件?
Is it possible to convert byte array/stream to files such as Word,Excel, PDF in JavaScript
我有一个关于使用JavaScript的文件操作的查询-
场景-我的JS函数调用wcf服务,该服务以字节数组或流和mime类型的形式返回文件内容。这个字节数组/流需要转换成一个文件,并将其下载到用户的机器上。
参考代码 -
var arr = "This is test content";
var byteArray = new Uint8Array(arr);
var a = window.document.createElement('a');
a.href = window.URL.createObjectURL(new Blob([byteArray], {
type: 'text/plain'
}));
a.download = "Test";
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
代码只适用于文本文件。mime类型不是文本的文件已损坏。我知道文件操作在客户端受到严格限制,但只是为了确认-无论如何都可以将字节数组/流转换为Word,Excel, PDF等文件吗?
我用这个实现了一个类似的目标。从byteArray所在的位置拾取,并尝试如下操作:
var byteArray = new Uint8Array(arrayBuffer);
var a = window.document.createElement('a');
a.href = window.URL.createObjectURL(new Blob([byteArray], { type:'application/octet-stream' }));
// supply your own fileName here...
a.download = "YourFileName.XLSX";
document.body.appendChild(a)
a.click();
document.body.removeChild(a)
设置contentType为"application/octet-stream"可以容纳任何二进制文件类型
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- 如何在Javascript中将JSon对象转换为数组
- 使用JS将数组转换为json对象
- 如何使用json将对象列表从java转换为javascript
- 偶尔结结巴巴地说“;堆叠的”;translate()上的转换(v4.0.0-alpha40)
- 为什么在单独的函数中应用时转换会闪烁/断断续续(D3)
- 在Javascript中转换对象数组
- 将数字转换为一定数量的硬币
- 将纯文本URL转换为可单击链接
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 客户端Microsoft Word到PDF的转换-如何在MVC3中
- 在JavaScript中是否可以将字节数组/流转换为Word,Excel, PDF等文件?
- 将网页上的文字笔记转换为word文档
- HTML到word转换使用javascript
- 在";ondrop";事件使用javascript将word文档转换为文本或字符串
- 将文本从HTML转换为MS Word
- 如何将 HTML 中的画布标签转换为 Word 文件
- 将日期转换为Word格式
- 自动将Html页面转换为MS Word文档,保存,然后加载到客户端机器上