【发布时间】:2009-09-02 12:42:44
【问题描述】:
我有一个应用程序:
您可以将图像文件拖放到应用程序的停靠图标上,它会将图像上传到免费的图像托管程序。在 10.5 中,您可以直接从 safari(和任何其他浏览器)中拖出图像并将其拖放到 Dock 上。 (应用程序从浏览器放入的临时文件夹中打开图片并上传到网络。)
现在在 10.6 中,同一个应用程序不会接受从 safari(任何其他浏览器)窗口直接拖放到停靠图标上的图像。浏览器似乎将 Internet-URL“导出”到图像 (http://somedomain.com/the_image.png),而不是 10.5 中导出缓存中图像文件的文件名的行为。从 finder 中删除的本地文件可以完美打开和处理。
对我的影响是:我必须实现一项服务,允许将 URL 拖放到我的停靠图标上。然后决定是删除本地文件名还是远程 url。导致样板代码只是为了决定我是否应该使用 [NSData dataWithContentsOfFile] 或 [NSData dataWithContentsOfURL] 打开图像(遗憾的是,您无法从本地文件名创建 NSURL)
是否有适当的方法来处理这个问题并摆脱样板文件? (在文件名前添加 'file://' 并以 URL 形式打开是行不通的。)
【问题讨论】:
标签: objective-c cocoa drag-and-drop osx-snow-leopard