我正在使用C# xamarin窗体android,我试图*删除*我的MultipartFormDataContent中的项目,但我无法执行此操作。我尝试了以下代码:
当我尝试再次上传MultipartFormDataContent时,使用null会显示错误“System.NullReferenceException:对象引用未设置为对象的示例。”
content = null;
我也尝试过Dispose(),但当我再次尝试上传时,它给了我这个错误“System.ArgumentOutOfRangeException:索引超出范围.必须为非负数且未来集合得大小.":
content.Dispose();
但它不允许我清理MultipartFormDataContent。
这是我代码:
MultipartFormDataContent content = new MultipartFormDataContent();
List<StreamContent> listStreamContent = new List<StreamContent>();
private async void sendImages()
{
for (int x = 0; x < listStreamContent.Count; x++)
{
content.Add(listStreamContent[x], "file", listFullPathImg[x]);
}
var httpClient = new HttpClient();
var response = await httpClient.PostAsync(url, content);
string res = await response.Content.ReadAsStringAsync();
await DisplayAlert("Result", res, "okey");
for (int x = 0; x < listFullPathImg.Count; x++)
{
File.Delete(listFullPathImg[x]);
}
clearMultipartFormDataContent();
}
public void clearMultipartFormDataContent()
{
try
{
listStreamContent.Clear();
content.Dispose();
//content = null;
}
catch (Exception ex)
{
// handler exception
}
}
我知道比如说,有了这样一个列表
List<string> listImgName = new List<string>();
我可以这样做,它会清理我列表:
listImgName.Clear();
如果不使用MultipartFormDataContent,我怎么能做这样的事情呢?
非常感谢!
1条答案
按热度按时间sbtkgmzw1#
解决方案
我无法清除我的MultipartFormDataContent,但我可以在我的函数内声明它。这样它就销毁了自己,我可以再次使用它。所以我这样做了,它工作了。我把代码留在这里: