图像从xamarin.ios上载到Azure存储

时间:2016-10-28 17:53:39

标签: xamarin xamarin.ios azure-storage-blobs blobstore

如何从xamarin.ios将图像blob上传到azure存储? 从文档中,我研究了这个方法UploadFromFileAsync()可以工作,但它需要图像作为字符串路径,我有图像作为UIImage var。 如何将图像转换为字符串路径以适合此方法参数。

感谢。

1 个答案:

答案 0 :(得分:0)

您可以将UIImage转换为PNGJPG,并将其转换为可以保存到文件系统的NSData对象。

在下面的示例中,我将基于UIImage的变量作为JPG保存到App的Cache / Temp目录中的文件中。之后,您可以使用UploadFromFileAsync方法:

using (var nsData = uiImage.AsJPEG(100)) // or .AsPNG...
{
    var filePath = Path.Combine(Path.GetTempPath(), "MyImage.jpg");
    nsData.Save(filePath, true);
}

注意:上传完成后可以/应该删除该文件,但由于它位于缓存目录中,因此操作系统可以在需要空间时重新启动它,或者重新启动设备。