如何清除C#xamarin表单android中的MultipartFormDataContent



我正在使用C#xamarin forms 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,我怎么能做这样的事情?

非常感谢!

解决方案

无法清理我的MultipartFormDataContent,但我可以在函数内部声明它。这样它就自我毁灭了,我可以再次使用它。所以我做了这个,它起了作用。我把代码留在这里了:

List<StreamContent> listStreamContent = new List<StreamContent>();
private async void sendImages()
{
MultipartFormDataContent content = new MultipartFormDataContent();
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]);
}
listStreamContent.Clear();
}

最新更新