Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在xamarin表单中实现多文件上传?_C#_Xamarin_Xamarin.forms_Xamarin.android - Fatal编程技术网

C# 如何在xamarin表单中实现多文件上传?

C# 如何在xamarin表单中实现多文件上传?,c#,xamarin,xamarin.forms,xamarin.android,C#,Xamarin,Xamarin.forms,Xamarin.android,我正在研究xamarin表单,在那里我试图实现多文件上传。我尝试过的是使用文件选择器插件,它可以让我上传一个文件,但我的要求是多个文件上传 //My xaml <Button Text="Pick File" Clicked="Button_Clicked" HorizontalOptions="Center" VerticalOptions="Center"/> //my C# var file = await CrossFilePicker.Cu

我正在研究xamarin表单,在那里我试图实现多文件上传。我尝试过的是使用文件选择器插件,它可以让我上传一个文件,但我的要求是多个文件上传

//My xaml
<Button Text="Pick File" Clicked="Button_Clicked" HorizontalOptions="Center"  
               VerticalOptions="Center"/>
//my C#
var file = await CrossFilePicker.Current.PickFile();
//我的xaml
//我的C#
var file=await CrossFilePicker.Current.PickFile();
//我的API(WEB API点网核心)

public异步任务RaiseTicket()
{
//我在标题中发送了一些我在这里阅读的东西
var mslAddProviderUser=JsonConvert.DeserializeObject(Request.Headers[“mdl]”);
var boundary=MultipartRequestHelper.GetBoundary(MediaTypeHeaderValue.Parse(Request.ContentType))\u defaultFormOptions.MultipartBoundaryLengthLimit;
var reader=newmultipartreader(边界,HttpContext.Request.Body);
//此节变量保存我的所有文件,它正在工作,我已使用我们的web应用程序进行了测试
**var section=wait reader.ReadNextSectionAsync();**
}

如何处理多个文件,是否有其他方法可以实现相同的功能?

Xamarin没有实现任何跨平台的文件拾取方法,因此您需要使用平台API自己实现,或者找到实现该功能的插件。由于拾取多个文件的插件似乎不存在,因此您需要使用本机API和依赖项注入自己实现它。例如,这是用于iOS的API:,您需要使用此API实现用于iOS的文件选择器,然后使用依赖项注入从Xamarin使用它(或共享项目,但现在很少使用,尽管它更简单)。

您想上传到哪里?是否要一次拾取更多文件?您可以使用FileUploader插件一次上载多个文件。检查代码。谢谢@WendyZang MSFT,我想将其发送到API,API已经创建,它将API项目下的文件存储在文件夹中。所以我只需要把它发送给API rest,它会处理好的。你的API是什么?asp.net web API?你能告诉我你的API需要什么对象吗?WendyZang MSFT和FreakyAli你们可以检查我的问题中的更新。
public async Task<IActionResult> RaiseTicket()
{
    //I am sending few object in header those things I am reading here
    var mslAddProviderUser = JsonConvert.DeserializeObject<MRaiseTicket>(Request.Headers["mdl"]);

    var boundary = MultipartRequestHelper.GetBoundary(MediaTypeHeaderValue.Parse(Request.ContentType), _defaultFormOptions.MultipartBoundaryLengthLimit);
    var reader = new MultipartReader(boundary, HttpContext.Request.Body);
    //This section variable holds my all files and It is working I have tested using our web application
    **var section = await reader.ReadNextSectionAsync();** 
}