我將我的服務器的bin-code返回給angular,並且希望將其作爲pdf打開。無法將blob轉換爲pdf
不幸的是,我總是在打開文檔時出錯。我想我解釋錯了數據。
這是我的代碼把該串中一個pdf:
$scope.downloadFile = function(item){
var file = blob = new Blob([item.contents], { type: 'application/pdf' });
var fileURL = URL.createObjectURL(file);
window.open(fileURL, "pdf");
}
爲這樣的字符串將是(包含單詞 「測試」 PDF)的一個例子:
JVBERi0xLjUNJeLjz9MNCjQgMCBvYmoNPDwvTGluZWFyaXplZCAxL0wgMzI3NTAvTyA2L0UgMjA1NzMvTiAxL1QgMzI1NTEvSCBbIDU5NiAxNTRdPj4NZW5kb2JqDSAgICAgICAgICAgICAgICAgICAgDQp4cmVmDQo0IDE1DQowMDAwMDAwMDE2IDAwMDAwIG4NCjAwMDAwMDA3NTAgMDAwMDAgbg0KMDAwMDAwMDgxMCAwMDAwMCBuDQowMDAwMDAwOTg0IDAwMDAwIG4NCjAwMDAwMDExNTggMDAwMDAgbg0KMDAwMDAwMTMxMiAwMDAwMCBuDQowMDAwMDAxMzQ2IDAwMDAwIG4NCjAwMDAwMDE4 MTEgMDAwMDAgbg0KMDAwMDAwNDQ2MCAwMDAwMCBuDQowMDAwMDA1MDMxIDAwMDAwIG4NCjAwMDAwMDUyNTcgMDAwMDAgbg0KMDAwMDAwNTQyOSAwMDAwMCBuDQowMDAwMDA1NzQwIDAwMDAwIG4NCjAwMDAwMTI3NTggMDAwMDAgbg0KMDAwMDAwMDU5NiAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDE5L1Jvb3QgNSAwIFIvSW5mbyAzIDAgUi9JRFs8MjU1MDdFOUU5MTYxRDc0Mjk4QTRDQjYzMDIxMTM2NTQ
在服務器上的功能
byte[] bytDocu;
Response.BinaryWrite(bytDocu);
用於創建PDF文件。
你提到的responseType:「arraybuffer」而發送請求? – AkankshaGupta
您的服務器調用將PDF作爲未壓縮的base 64進行返回。這是對帶寬的非常差的使用,因爲該文件比僅發送原始PDF大約大15%。 –