我是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)时,它会给出一个异常,指出无法找到路径的一部分。
请帮助:)
答案 0 :(得分:1)
您从资源库获取的网址不是文件路径。它是资源库中资源的URL,因此您无法使用FileStream来读取其数据。
如果资产是图像,您可以将其内容提取到NSData对象,如下所示:
UIImage image = UIImage.FromImage(asset.DefaultRepresentation.GetImage());
NSData data = image.AsJPEG();
答案 1 :(得分:0)
您可以使用两种不同的静态方法来加载图像。 FromImage和FromBundle。第一个是异步的。后者是同步的(当图像被加载时,它由iOS兑现)。两者都采用了你的形象的路径。
使用这些方法时,必须将属性图像设置为content属性。右键单击图像,属性 - >将构建操作设置为内容。