Xamarin.Forms C#的BackgroundUploader

时间:2018-02-12 08:17:29

标签: xamarin.forms xamarin.ios xamarin.android

我正在努力将我的WindowsPhone项目转换为Xamarin.Forms项目。

我有一个BackgroundUploader任务,用于在后台将我的视频文件上传到服务器。但是,我无法在Xamarin Forms中找到执行相同工作的类似类。

以下是我的WindowsPhone项目的BackgroundUploader代码。

请提出任何建议。

BackgroundUploader bguploader = new BackgroundUploader();
bguploader.SetRequestHeader(RequestHeader, jsonConverter.Serialize(Video));

UploadOperation upload = bguploader.CreateUpload(new Uri(url), videoFile);
Progress<UploadOperation> callback = new Progress<UploadOperation>(UploadProgress);
await upload.StartAsync().AsTask(canceltoken.Token, callback);

1 个答案:

答案 0 :(得分:1)

这绝对是特定于操作系统的功能,并且在Xamarin.Forms中没有内置解决方案。

正如您所提到的 BackgroundUploader 是适用于 UWP Windows Phone的解决方案。

有关 iOS 后台执行的部分信息,请查看the documentation。您可能会使用NSURLSessionUploadTask

Android 上,您应该查看后台服务。请参阅Android documentation

要以跨平台方式实现此目的,您必须创建共享接口,然后提供特定于平台的实现。有关详细信息,请参阅Xamarin.Forms DependencyService