请教大神:后端返回word文件流,wpsjs+vue+axios如何在wps中打开这个文件流?

http请求获得文件流(docx),然后调用wpsjs api在wps中打开如何实现?
贵州省
浏览 233
1
3
分享
3 +1
7
1 +1
全部评论 7
 
wils
wils

创作者俱乐部成员

如果filesystem有bug,超过的字节写不进去,最好提交个bug 不如换条路吧 好像有朋友在本地开个web服务,用go、py、php之类,然后就为所欲为了 或者直接用exceldna做c#插件,wpsjs加载项恐怕还不太成熟
· 海南省
回复
 
wils
wils

创作者俱乐部成员

fetch("a.docx").then(r=>r.arrayBuffer()).then(x=>{wps.FileSystem.writeAsBinaryString("out.docx", String.fromCharCode.apply(null, new Uint8Array(x)))}) 试了一下,可以写入本地文件,之后打开就行
· 海南省
回复
ibo
感谢大神赐教!问题已解决! let buffer = '' ,// 后端返回二进制流 filePath = '' // 写文件路径+/文件名.后缀 const result = wps.FileSystem.writeAsBinaryString( filePath, arrayBufferToBinaryString(buffer )) if (result) { Application.Documents.Add(filePath) } else alert("数据写入失败!") // const arrayBufferToBinaryString = (buffer) => { let binary = "" const bytes = new Uint8Array(buffer) const length = bytes?.byteLength for (let i = 0; i < length; i++) { binary += String.fromCharCode(bytes[i]) } return binary }
· 贵州省
1
回复