将文件从iOS应用程序上传到Windows服务器的最佳方式
本文关键字:Windows 服务器 方式 最佳 程序上 文件 iOS 应用 应用程序 | 更新日期: 2023-09-27 18:31:15
我的iOS应用程序允许用户存储PDF,图像等文件。 我们需要将应用程序文件同步到云,因为我们还为用户提供了一个 Web 门户来查看相同的数据。 我在Windows Forms应用程序中使用WCF(Mtom编码/流),但这在Xamarion.iOS(MonoTouch)中不起作用。 Mtom 消息编码似乎存在问题,因此我正在寻找一种替代和/或更好的方法来可靠地上传文件,例如流式传输、显示进度以及在 C# 5 中使用异步等待(如果可能)。
您推荐什么方法,如果您有任何示例代码或链接,那就太好了。 另外,当我运行Windows Server 2008 R2时,IIS 7.5中需要什么。 最后,当我运行 Watchguard 设备时,任何防火墙问题,所以如果我需要打开任何东西来允许它工作,请告知。 我假设这会发生在HTTP或HTTPS上。
我已经对Web客户端,webDAV等进行了一些研究,但不确定在这种情况下,什么是真正的最佳方法。
谢谢。
HttpClient(异步)或WebClient可以很好地处理上传。 您可以创建 ASP.NET 上传处理程序或 MVC 操作来读取 HTTP 发布的文件。
一些有用的链接:
C# HttpClient 4.5 multipart/form-data upload
使用 Webclient.Uploadfile 获取文件上传期间的上传进度
http://haacked.com/archive/2010/07/16/uploading-files-with-aspnetmvc.aspx
编辑:请参阅Larry OBrien的答案,解释iOS 7原生MonoTouch.Foundation.NSUrlSession,它允许后台传输。
iOS 7引入了一个新类MonoTouch.Foundation.NSUrlSession
,这是将较大文件传输到Web和从Web传输较大文件的首选方式。 当应用程序在后台运行时,NSUrlSession
传输可以工作。
本文介绍了编程模型。
下面是演示该技术的示例应用程序。