我想将多个流添加到我的MultiformDataContent
中,并且这样做是这样的:
MultipartFormDataContent formdata = new MultipartFormDataContent();
foreach (var item in files)
{
using (FileStream fs = File.Open(item, FileMode.Open, FileAccess.Read))
{
HttpContent content = new StreamContent(fs);
formdata.Add(content, "files", item.Split(charSeparators)[2]);
}
}
// send the content to the backend, parse results
var result = client.PostAsync(url, formdata).Result; // ObjectDisposedException
但是当我检查内容长度时,它是null
,并且抛出了ObjectDisposedException
。
此行仅将fs
包装在StreamContent
对象中。
HttpContent content = new StreamContent(fs);
直到您呼叫PostAsync
才读取流:
client.PostAsync(url, formdata)
此时您已关闭流。发布后应丢弃该流。