NSURL到文件路径Monotouch

时间:2011-07-10 07:24:43

标签: file path xamarin.ios nsurl

我是iphone开发的新手。我正在用Mono touch编写我的应用程序。

我正在尝试从资产库中获取一张我可以成功完成的照片,但是我将路径作为URL“assets-library://asset/asset.JPG”。我想做一个要求文件路径的FileStream读取。如何将NSURL转换为文件路径?

我使用了asset.DefaultRepresentation.Url.AbsoluteString,它给出了以下filePath: ?资产库://asset/asset.JPG ID = 1000000001&安培; EXT = JPG

然后当它到达FileStream(filePath,FileMode.Open,FileAccess.Read)时,它会给出一个异常,指出无法找到路径的一部分。

请帮助:)

2 个答案:

答案 0 :(得分:1)

您从资源库获取的网址不是文件路径。它是资源库中资源的URL,因此您无法使用FileStream来读取其数据。

如果资产是图像,您可以将其内容提取到NSData对象,如下所示:

UIImage image = UIImage.FromImage(asset.DefaultRepresentation.GetImage());
NSData data = image.AsJPEG();

答案 1 :(得分:0)

您可以使用两种不同的静态方法来加载图像。 FromImage和FromBundle。第一个是异步的。后者是同步的(当图像被加载时,它由iOS兑现)。两者都采用了你的形象的路径。

使用这些方法时,必须将属性图像设置为content属性。右键单击图像,属性 - >将构建操作设置为内容。