![](/img/trans.png)
[英]AES Encryption Decryption in API Connect Gateway Script JSON Datapower
[英]streaming pdf files in datapower gateway
我想下載 datapower 本地目錄中的 pdf 我創建了一個服務並編寫了一個小的網關腳本但是 pdf 以不可讀的格式下載 我希望 pdf 以.pdf 格式下載
var urlopen = require('urlopen');
var fs = require('fs');
urlopen.open("local:///pdf.pdf", function (error, response) {
if (error) {
session.output.write("openCallback error: " + error.errorMessage+"\n");
}
else {
if (response.statusCode == 200) {
// You have a 200, so you can read the file
fs.readFile("local:///pdf.pdf", function(error,data) {
session.output.write(data);
});
}
}
});
好吧,首先,您正在使用您的代碼讀取 PDF 兩次,您應該使用 urlopen 或 fs.readFile,但不能同時使用...
如果您直接從文件系統(通過 UI)下載 PDF,請確保它是可下載和可讀的,以確保它在添加到 DP 框時沒有被“破壞”。
其次,將 PDF 存儲為base64
總是更安全,因此如果您可以更改添加 PDF 的方式,請在保存之前將其編碼為 base64,然后獲取 base64 並在返回之前對其進行解碼。
您必須在響應中包含 PDF 的內容類型“application/pdf”,否則 DataPower 會將其返回為 XML(這是默認值),因此為content-type: application/pdf
。
我有點不確定 DataPower 是否可以處理“應用程序/PDF”(不記得了),但只要它不是 XML 或 JSON,它就不應該碰它......否則嘗試使用“應用程序/八位字節流”,如果 PDF不起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.