【问题标题】:Dragging an Image from Safari and dropping it onto dock icon does not work in snow leopard?从 Safari 中拖动图像并将其放到停靠图标上在雪豹中不起作用?
【发布时间】: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


    【解决方案1】:

    (遗憾的是,您无法从本地文件名创建 NSURL)

    是的,你可以。查看文档中的+[NSURL fileURLWithPath:]

    【讨论】:

    • 更好,[NSURL fileURLWithPath:path isDirectory:NO] 因为您知道您的图像不是目录。此方法不会撞到磁盘。 +fileURLWithPath: 可以。这只是为了查看 URL 是否需要尾部斜杠 - 超级烦人。
    猜你喜欢
    • 1970-01-01
    • 2021-07-16
    • 2022-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    • 2015-08-07
    相关资源
    最近更新 更多