0

エンド ユーザーが関連するメタデータを含むファイルを (アップロードされたファイルごとに) アップロードできるようにする RESTful Web サービスを作成しています。MultipartFormDataStreamProviderクラスの使用を検討しています。このクラスでは、formdata プロパティから formdata (私の場合はメタデータ) を、filedata プロパティからファイルを読み取ることができます。この目的のために、ASP.net サイトのサンプルSending HTML Form Data を参照しています。

クエリ:

formdata に POST されたメタデータを filedata のアップロードされたファイルに関連付けるにはどうすればよいですか?

たとえば、formdata のメタデータが[{"property1": value1, "property2": value2}, {"property1": value3, "property2":value4}]で、2 つのファイルが POST 要求でアップロードされたとします。JSON データ (formdata プロパティで利用可能) のどの項目がアップロードされたファイル (filedata プロパティで利用可能) に対応するかを知るにはどうすればよいですか? これは、クライアントから POST された順序と同じになりますか?

4

1 に答える 1

0

私は今日たまたまこれに出くわしました...(同じ混乱を持っているかもしれない人のために)

MultipartFormDataStreamProvider は、「フォーム データとファイル コンテンツの組み合わせである MIME マルチパート HTML フォーム データを処理するため」のようです。したがって、フォーム値のリストと多数のファイルがあります..すべてが同じ投稿リクエストの一部です.

しかし、ウェブ上の多くの例のように、

// This illustrates how to get the file names.
foreach (MultipartFileData file in streamProvider.FileData)
{
    Trace.WriteLine(file.Headers.ContentDisposition.FileName);
    Trace.WriteLine("Server file path: " + file.LocalFileName);


// Show all the key-value pairs.
foreach (var key in streamProvider.FormData.AllKeys)
{
    foreach (var val in streamProvider.FormData.GetValues(key))
        {
            Trace.WriteLine(string.Format("{0}: {1}", key, val));
        }
}
于 2014-01-15T18:21:36.843 に答える