簡體   English   中英

是否可以將字節數組/流轉換為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”將適應任何二進制文件類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM