2017-02-21 10 views
1

マルチパートフォームデータをAPIエンドポイントに渡しています。データは次のようなモデルとして渡されます。複数のフォームデータを複数のファイルで読み取る

public class AttachmentModel 
{ 
    public HttpFile Data { get; set; } 
    public string Description { get; set; } 
    public Attachment Attachment => new Attachment 
    { 
     Data = Data?.Buffer ?? new byte[0], 
     Description = Description, 
     FileName = Data?.FileName 
    }; 
} 

これは正しく動作し、ファイルは適切に解析されます。私は一度に複数のファイルをアップロードできるようにしたい、と送られ、マルチパートフォームはDataの下にアップロードされているいくつかのファイルで、正しいと思わ:私はDataを変更した場合、しかしモデルについて

------WebKitFormBoundarypABSUgXhqOWGIbhU 
Content-Disposition: form-data; name="Description" 

------WebKitFormBoundarypABSUgXhqOWGIbhU 
Content-Disposition: form-data; name="Data"; filename="file1.pdf" 
Content-Type: application/pdf 

------WebKitFormBoundarypABSUgXhqOWGIbhU 
Content-Disposition: form-data; name="Data"; filename="file2.pdf" 
Content-Type: application/pdf 

------WebKitFormBoundarypABSUgXhqOWGIbhU-- 

IEnumerable<HttpFile>であるため、nullです。すべてのファイルを受け取るためにデータを渡すにはどうすればよいですか?

答えて

1

私は仕事にこれを得た方法では、各ファイルの下に送られた名前があったこと、それは自身のインデックスですので、マルチパートフォームデータを編集することでした:

------WebKitFormBoundarypABSUgXhqOWGIbhU 
Content-Disposition: form-data; name="Description" 

------WebKitFormBoundarypABSUgXhqOWGIbhU 
Content-Disposition: form-data; name="Data[0]"; filename="file1.pdf" 
Content-Type: application/pdf 

------WebKitFormBoundarypABSUgXhqOWGIbhU 
Content-Disposition: form-data; name="Data[1]"; filename="file2.pdf" 
Content-Type: application/pdf 

------WebKitFormBoundarypABSUgXhqOWGIbhU-- 

そしてモデルでは、私は、データへの変更HttpFileのリストになる:

public List<HttpFile> Data { get; set; } = new List<HttpFile>();

関連する問題