2016-10-12 5 views
-1

私はaurelia jsに新しいです、私はサーバーにファイルをアップロードする必要があります、autrelia js、materializecssとhttpClient.fetch API呼び出しを使用しています。私はサーバーにファイルを送る方法を知らない。Aurelia js fieサーバにアップロード

ビュー:

<input type="file" files.bind="selectedFiles" change.delegate="onSelectFile($event)"> 

モデル:

onSelectFile(e) 
{ 
    var myurl = 'http://cdn.dmsapp.tk/file?authToken=bLNYMtfbHntfloXBuGlSPueilaHtZx&type=jpg&name=sibi.jpg&userId=7&organizationId=1&sourceType=USER_UPLOADS'; 
     this.httpValueConverter.call_http(myurl,'POST',this.selectedFiles[],'fileupload',file_upload) 
      .then(data => { 
      console.log(data); 
     if(data.meta && data.meta.statusCode == 200) { 
      // this.index_lists = data.index.list; 
     } 
    }); } 

のHTTPService:

return this.httpClient.fetch('http://api.dmsapp.tk/'+url, 
      { 
       method: method, 
       body : json(myPostData), 
       headers: { 
       'Content-Type': 'application/x-www-form-urlencoded', 
       'authorization': this.authorization}}) 
      .then(response => response.json()); 

解決策を探しています。

+1

可能性のある複製http://stackoverflow.com/questions/37589636/posting-data-and-file-with-aurelia-to-asp-net-webapi –

+0

上記の解決方法を試しても効果がありますか? –

+0

'this.selectedFiles []'とは何ですか?私は変数から '[]'を取り除きます。なぜなら、それは名前の一部ではないから、アクセスしない配列のインデックスを参照することになります – Randy

答えて

0

ファイルがあり、特定のメディアタイプをアップロードしようとしている場合は、 ヘッダー 'Content-Type': 'application/x-www-form-urlencoded'が正しく表示されません。あなたのデータはあなたがバイト配列にそれを変更する必要がありますバイナリの場合

http://www.iana.org/assignments/media-types/media-types.xhtml

はまた、あなたは、JSONにデータをシリアル化:ここでは、適切なメディアタイプを見てみましょう。

あなたがここにいくつかの有用な情報を見つけることがあります。また、あなたは両方のあなたのURLとあなたのヘッダーでトークンを設定し

http://www.petermorlion.com/file-upload-with-aurelia/

を、私はヘッダのみで、それを設定することをお勧めしたいです。

+0

私は2番目のリンクを試しましたが、この行の 'settingsDto.Logo.IndexOf( "、")+ 1'にエラーがスローされます。 – sibi

関連する問題