C# 如何使用mono touch将图像上载到服务器?

C# 如何使用mono touch将图像上载到服务器?,c#,xamarin.ios,httpwebrequest,xamarin,C#,Xamarin.ios,Httpwebrequest,Xamarin,我必须上传一张从相机拍摄的照片到服务器上。我成功地拍摄了这张照片并得到了一个“资源url”。当我打印它时,我得到了类似于library://asset/asset.JPG?id=869A0C6A-A07B-4B53-8925-5A50765A062D&ext=JPG”。当我尝试使用以下代码上载文件时,它不会被上载 我使用下面的代码 我正在使用资源url代替文件路径。有人能帮我吗?是否必须更改资产url?由于iOS沙盒规则,无法直接读取此类url中的数据。请注意,您的映像不属于您的应用程序(它不保

我必须上传一张从相机拍摄的照片到服务器上。我成功地拍摄了这张照片并得到了一个“资源url”。当我打印它时,我得到了类似于library://asset/asset.JPG?id=869A0C6A-A07B-4B53-8925-5A50765A062D&ext=JPG”。当我尝试使用以下代码上载文件时,它不会被上载

我使用下面的代码


我正在使用资源url代替文件路径。有人能帮我吗?是否必须更改资产url?

由于iOS沙盒规则,无法直接读取此类url中的数据。请注意,您的映像不属于您的应用程序(它不保存在其目录中)

您可以使用
ALAssetRepresentation
获取图像(以及所需的选项)数据,然后将该数据发布到web服务器

有几种方法可以做到这一点,但一般来说,您可以从
ALAssetRepresentation
获取
CGImage
,它可以用来创建
UIImage
,可以转换为
NSData
(表示PNG或JPEG),然后您可以获得可用于POST的
System.IO.Stream

WebClient client = new WebClient();
 byte[] bret = client.UploadFile(path, "POST", FilePath);