我收到 Chrome 無法加載 PDF 檔案的錯誤訊息。我可以看到資料的內容是控制臺視窗,所以我有回傳的資料我只是不知道為什么它不會顯示?如果我 File.WriteAllBytes去磁盤它會打開很好所以它可能與創建new Blob
無法加載 PDF 檔案。

代碼
printItems(versionKeys: string[]): JQueryPromise<any> {
console.log('printItems');
$.ajax({
type: "post",
contentType: "application/json",
data: JSON.stringify(versionKeys),
url: this.apiUrls.PrintTemplates,
success: function (data, status, xhr) {
console.log('printItems');
console.log(data);
let blob = new Blob([data.Content], { type: data.ContentType });
var url = URL.createObjectURL(blob);
console.log(url);
window.open(url);
console.log('success');
}
});
return;
}
錯誤

uj5u.com熱心網友回復:
我將 base64 字串轉換為位元組
var binary_string = window.atob(data.Content)
var len = data.Content.length;
var bytes = new Uint8Array(len);
for (var i = 0; i < len; i ) {
bytes[i] = binary_string.charCodeAt(i);
}
let blob = new Blob([bytes.buffer], { type: data.ContentType })
var url = URL.createObjectURL(blob);
window.open(url);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/350447.html
