NSURL 到文件路径 Monotouch

发布于 2024-11-19 04:56:37 字数 402 浏览 1 评论 0原文

我是 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

旧伤慢歌 2024-11-26 04:56:37

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

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

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

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:

UIImage image = UIImage.FromImage(asset.DefaultRepresentation.GetImage());
NSData data = image.AsJPEG();
冷…雨湿花 2024-11-26 04:56:37

您可以使用两种不同的静态方法来加载图像。 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文