gpt4 book ai didi

macos - Mac OSX/cocoa - 获取带有 NSPasteBoard 项目的原始数据的位置路径字符串

转载 作者:行者123 更新时间:2023-12-03 16:32:58 25 4
gpt4 key购买 nike

我有一个应用程序,允许我将项目从网络浏览器拖动到应用程序停靠图标。

当我从网络上拖动图像并获取原始数据时 [pBoardItem dataForType:NSPasteboardTypePNG];我得到了我需要的原始图像数据,但我还需要知道拍摄图像形式的位置(即 http://www.somedomain.com/somedir/someimage.png )或者是否是本地的(/Users/somedude/photos/myphoto.png)。

如何获取路径位置信息?

提前致谢。

[编辑**删除了我在此处对 stringForType 所做的错误评论]

最佳答案

粘贴板上的所有内容都不是由其所有者(复制到其中的应用程序)放置的。

在粘贴板上查找 NSFilenamesPboardType 和/或 NSURLPboardType

如果它们不存在,则仅复制图像,没有路径或 URL。这是完全可能且有效的,就像从预览或图像编辑器复制图像的一部分一样,应用程序也完全有可能不将路径或 URL 放在粘贴板上,因此不要期望图像必然带有路径或 URL。

when I use the stringForType: function I only get public.png (the name pasteboard gave it temporarily).

呃?您是说当您请求某种类型的字符串时,您返回的字符串是 @"public.png" 吗?

如果是这样,则与粘贴板上的图像无关; @"public.png" 将是粘贴板的内容。也许您刚刚自己将“public.png”复制到剪贴板?

如果您的意思是检索 @"public.png" 类型的字符串,(1) 这不是临时名称,而是 UTI对于 PNG,(2) 您应该使用命名常量,例如 kUTTypePNG,而不是硬编码文字,(3) 该类型的值不应该是字符串。我不希望从该类型的 stringForType: 消息中获得任何有用的信息。

关于macos - Mac OSX/cocoa - 获取带有 NSPasteBoard 项目的原始数据的位置路径字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7546651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com