NSURL 到文件路径 Monotouch
我是 iPhone 开发新手。我正在用 Mono touch 编写我的应用程序。
我试图从资产库中获取一张照片,我可以成功完成,但是我得到的路径为 URL“assets-library://asset/asset.JPG”。我想做一个文件流读取,它要求提供文件路径。如何将 NSURL 转换为文件路径?
我使用 asset.DefaultRepresentation.Url.AbsoluteString 给出以下文件路径: assets-library://asset/asset.JPG?id=1000000001&ext=JPG
然后,当它命中 FileStream(filePath, FileMode.Open, FileAccess.Read) 时,它会给出一个异常,指出无法找到路径的一部分。
请帮忙:)
I am new to iphone development. I am writing my app in Mono touch.
I am trying to get a photo from the asset library which I can do successfully however I get the path as a URL "assets-library://asset/asset.JPG". I want to do a FileStream read which asks for a filepath. How can I convert NSURL to a file path?
I used asset.DefaultRepresentation.Url.AbsoluteString which gives the following filePath:
assets-library://asset/asset.JPG?id=1000000001&ext=JPG
then when it hits the FileStream(filePath, FileMode.Open, FileAccess.Read) it gives an exception stating that Could not find part of the path.
Please Help:)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
从资源库中获取的 url 不是文件路径。它是资产库中资源的 url,因此您无法使用 FileStream 读取其数据。
如果资产是图像,您可以将其内容获取到 NSData 对象,如下所示:
The url you get from the assets library is not a file path. It is a url to a resource in the assets library, so you cannot use FileStream to read its data.
If the asset is an image, you can get its contents to an NSData object like this:
您可以使用两种不同的静态方法来加载图像。 FromImage 和 FromBundle。第一个是异步的。后者是同步的(当加载图像时,它会被 iOS 兑现)。两者都会通往您的形象。
当您使用这些方法时,属性图像必须设置为内容属性。右键点击图片,属性->将构建操作设置为内容。
You can use two different static methods to load an image. FromImage and FromBundle. The first is asynchronous. The latter is synchronous (when an image is loaded the it is cashed by iOS). Both take the path to your image.
When you use these methods, property image must be set to content property. Right click on image, property -> set build action to content.