2017-08-04 4 views
1

こんにちは私はangularjsでWebアプリケーションを開発しています。私はファイルアップロードモジュールを開発しています。私はファイルの詳細と配列の下にあります。コードの下anglejsを使用してファイルの詳細をバックエンドに送信するにはどうすればよいですか?

//ファイル

$scope.showPicker=function() 
      { 
       var client = filestack.init('AGeDIRvVZTRWgtmFbfGuZz'); 
       client.pick({ 
       }).then(function (result) { 
        arrMakes.push(result.filesUploaded); 
       }); 
      } 
私は私の配列を示した上記の画像では

FileDetails(array)

の配列を取得します。私は3つのファイルを持っています。 以下はAPIに詳細を送信する私の角度コードです。

var files = new FormData(); 

angular.forEach(arrMakes, function (value, index) { 
    console.log(value,index); 
    files.append(index, value); 
    files.append('data', angular.toJson(index).replace(/['"]+/g, '')); 
}); 

return $http.post(this.uploadUrl, files, { 
    transformRequest: angular.identity, 
    headers: { 
    'Content-Type': undefined, 
    } 
}) 

問題はサーバー側でファイルが受信されないことです。下の行はサーバーに0個のファイルを与えます。

System.Web.HttpFileCollection hfc = System.Web.HttpContext.Current.Request.Files; 

正しいデータをサーバーに送信していますか?誰かが私にこれを解決するのを助けることができる?どんな助けでも大歓迎です。ありがとうございました。

+0

フォームデータ宣言はどこですか? – Vivz

+0

var files = new FormData();私は投稿するのを忘れました。 –

+0

いくつかの例をお願いします。 –

答えて

2

ファイルをサーバーにアップロードするのではなく、文字列のみをアップロードします。

FormDataにオブジェクトを追加することはできません。 Blob & Fileオブジェクトからアパートには何が起こるかを参照してください

fd = new FormData 
 
fd.append(2, {foo: 'bar'}) 
 
fd.append('data', 5) 
 
new Response(fd).text().then(console.log) 
 
// you get [object Object]

は、なぜあなたは、 "データ" のインデックスを文字列化しますか?自動的に文字列にキャストされます。あなたは何を置き換える必要がありますか?

私はちょうどちょうどarrMakesの穴をサーバーに送り、バックエンドのURLからすべてのファイルをダウンロードしてください。そうしないと、クライアントはダウンロードしてサーバーにアップロードし、帯域幅と時間を無駄にする必要があります。

の横に、あなたはangulars foreachループを必要としない、配列は

arrMakes.forEach(function (value, index) { 
    ... 
}) 

に内蔵されているメソッドを持っているあなたも、あなただけのサーバーにarrMarksを渡す場合は任意のループを使用する必要はありません

+0

ありがとうございます。私は退職した。私は月曜日に確認します。 –

+0

ありがとうございました。まだ私はサーバーにファイルを取得していません。私は、arrMakes.forEach(function(value、index)){ files.append(index、value); files.append( 'data'、index); }を追加しました) –

+0

まだ、 'arrMakes'にはファイル、単純なオブジェクトのみ。そして上記のようにformDataにオブジェクトを追加することはできません。 – Endless

関連する問題