我想讓用戶下載在 Json 請求后從 API 收到的 PDF。當用戶打開 ShowPDF.asp 請求時,會打開一個下載 PDF 的新視窗。
問題是下載的PDF無效;它說檔案無法打開。該檔案的大小約為 500kb,因此其中有些內容。當我在 Postman 中提出相同的請求時,我會在結果螢屏中看到 PDF 檔案的內容,當我保存它時,它也大約為 500kb。
從請求中收到的是 PDF 檔案的實際內容:
%PDF-1.4
3 0 obj
<</Type /Page
/Parent 1 0 R
代碼:
PDF.asp
Response.AddHeader "Content-Disposition","attachment; filename=name.pdf
Response.ContentType = "application/pdf"
PDFcontent = GetPDF(strToken)
response.write PDFcontent
獲取PDF(sToken)
public function GetPDF(sToken)
Set xmlhttp = CreateObject("Msxml2.ServerXMLHTTP.6.0")
xmlhttp.open "GET", "www.fakeUrl.com/rest/download", false
xmlhttp.setRequestHeader "Authorization", "Bearer "& sToken
xmlhttp.setRequestHeader "Content-Type", "application/json; charset=UTF-8"
xmlhttp.send ""
GetPDF = xmlhttp.responseText
end function
顯示PDF.asp
window.open('PDF.asp');
我在這里想念什么?
uj5u.com熱心網友回復:
問題是您將二進制檔案的下載視為文本。但幸運的是,修復并不太難。
調整
GetPDF = xmlhttp.responseText
到
GetPDF = xmlhttp.responseBody
然后改變
response.write PDFcontent
到
Response.BinaryWrite PDFcontent
有用的鏈接
- 回答:如何顯示位元組流回應
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/428375.html
上一篇:如何使用Scrapy決議沒有特定.pdf鏈接的PDF?
下一篇:將合并的pdf拆分為原始檔案
