我需要从服务器下载pdf文件。使用url,我需要传递自定义参数,例如分支ID,公司ID。有文件上传选项可以添加自定义参数,但没有任何内容可供下载。这是我的代码
let pdfParams ={
"branch":"GST DEMO",
"company":"GST DEMO",
"finyr":"2017-2018",
}
const fileTransfer: FileTransferObject = this.transfer.create();
const url =
"http://192.168.125.75:32923/mfginventory/mobileserviceapi/ereportpdfGET";
let uri = encodeURI(url);
fileTransfer.download(uri,this.file.externalRootDirectory+'file.pdf')
.then((entry) => {
console.log('download complete: ' + entry.toURL());
}, (error) => {
console.log(error);
});
我的网址应该像
"http://192.168.125.75:32923/mfginventory/mobileserviceapi/ereportpdfGET?PID=1500966148428¶ms="+JSON.stringify(pdfParams);
但如果我这样给它显示错误“不支持HTTP版本”。任何想法都将不胜感激。
答案 0 :(得分:0)
JSON.stringify(pdfParams)返回:
"{"branch":"GST DEMO","company":"GST DEMO","finyr":"2017-2018"}"
所以你的网址最终成为:
"http://192.168.125.75:32923/mfginventory/mobileserviceapi/ereportpdfGET?PID=1500966148428¶ms={"branch":"GST DEMO","company":"GST DEMO","finyr":"2017-2018"}"
这不是一种虚拟格式。我猜猜最后的网址应该是这样的吗?
http://192.168.125.75:32923/mfginventory/mobileserviceapi/ereportpdfGET?PID=1500966148428&branch=GST+DEMO&company=GST+DEMO&finyr=2017-2018
根据您需要支持的浏览器,您可以尝试使用URLSearchParams方法来实现目标。如果您需要IE支持,那么在SO上有很多简单的功能。
const searchParams = new URLSearchParams(pdfParams);
const fullUrl = "http://192.168.125.75:32923/mfginventory/mobileserviceapi/ereportpdfGET?PID=1500966148428&" + searchParams