2017-10-28 7 views
0

私はサーバーからpdfファイルをダウンロードする必要があります。そしてURLを使用して、ブランチID、会社IDなどのカスタムパラメータを渡す必要があります。カスタムパラメータを追加するためのファイルアップロードのオプションがありますが、ダウンロードするものはありません。ここでIonic File Transfer:uramsをダウンロードするparamsを追加する方法

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); 
    }); 

私のURLが

"http://192.168.125.75:32923/mfginventory/mobileserviceapi/ereportpdfGET?PID=1500966148428&params="+JSON.stringify(pdfParams); 

ようにする必要がありますが、私はこのように与えれば、エラー「HTTPのバージョンがサポートされていません」と表示されて私のコードです。任意のアイデアをいただければ幸いです。

+0

この操作はコンポーネント(ルーティングページを意味します)で実行していますか? – Webruster

答えて

0

JSON.stringify(pdfParams)を返します:vaild形式ではありません

"http://192.168.125.75:32923/mfginventory/mobileserviceapi/ereportpdfGET?PID=1500966148428&params={"branch":"GST DEMO","company":"GST DEMO","finyr":"2017-2018"}" 

"{"branch":"GST DEMO","company":"GST DEMO","finyr":"2017-2018"}" 

はので、あなたのURLがビーイングを終わる

。私は最終的なURLがこのようなものに見えるはずですか?

http://192.168.125.75:32923/mfginventory/mobileserviceapi/ereportpdfGET?PID=1500966148428&branch=GST+DEMO&company=GST+DEMO&finyr=2017-2018 

サポートする必要があるブラウザ内容に応じて、あなたがそこにURLSearchParams方法を試みることができます。 IEのサポートが必要な場合は、このための多くの単純な関数があります。

const searchParams = new URLSearchParams(pdfParams); 
const fullUrl = "http://192.168.125.75:32923/mfginventory/mobileserviceapi/ereportpdfGET?PID=1500966148428&" + searchParams 
+1

URLSearchParams()メソッドを教えてくれてありがとう、@SimonW。あなたのソリューションは部分的に機能しました。私はいくつかの変更を加え、正しく動作しました。 – Aishu

関連する問題