拖放 - 是不是可以获取 URL?

Posted

技术标签:

【中文标题】拖放 - 是不是可以获取 URL?【英文标题】:Drag and Drop - Is it possible to get the URL?拖放 - 是否可以获取 URL? 【发布时间】:2012-04-29 12:15:58 【问题描述】:

我实现了一个简单的拖放操作。主要目的是让用户从浏览器拖放图像。我可以得到这张图片的来源网址吗?

可以说,我在 SO 上,我拖放徽标。有没有办法让我知道这是来自 http://***.com ? 谢谢

【问题讨论】:

很好的问题,但我怀疑如果您在传入的拖动中看不到任何 URL,则无法查询该图像来自的浏览器。这是每个浏览器制造商(Safari、Firefox、Chrome 等)都必须在其拖动实现中提供的东西。也许文件增强请求进入 Radar(用于 Safari)和 Bugzilla(用于 Firefox)? 感谢您的意见。是否至少可以知道拖动来自哪个应用程序? 不,不是。这不会作为拖动信息的一部分传递。 当。只是花了几个小时试图弄清楚这一点并浏览了所有的苹果文档。对我来说,我只想从网上重新上传拖动的图像,所以这是可能的。不过,获得网址会很棒! :( 我认为 EXIF 元数据选项有时会起作用。 【参考方案1】:

对于不是链接的图像,以下代码将记录拖动图像的来源 URL。这适用于我在 Safari 和 Firefox 中。

@implementation DragView

- (void)awakeFromNib 
    [self registerForDraggedTypes:[NSArray arrayWithObject:NSURLPboardType]];


- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender 
    return NSDragOperationCopy;


- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender 
    NSPasteboard *pboard;    
    pboard = [sender draggingPasteboard];

    NSLog(@"types: %@", [pboard types]);
    NSLog(@"url: %@", [NSURL URLFromPasteboard:pboard]);

    return YES;


@end

如果图像也是链接,则记录的 URL 是该链接的 href。也可以使用扩展属性的 kMDItemWhereFroms 键从文件中获取“从哪里来”URL(如 Finder 的 Get Info 面板中所示)。

【讨论】:

谢谢,但这不是我想要的。 我不想要图片的 URL。我想要它被拖出的网页的 URL。 啊啊啊!那我帮不了你了,对不起!

以上是关于拖放 - 是不是可以获取 URL?的主要内容,如果未能解决你的问题,请参考以下文章

Python GTK 拖放 - 获取 URL

如果图像是链接,如何从拖放中获取图像 URL?

如何在android中检查拖放是不是为空

迷你过滤器拦截拖放文件到磁盘?

如何从 PHAsset 获取图像 URL?是不是可以使用 PHAsset URL 将图像保存到文档目录?

Qt - 在QGraphicScene中拖放时如何从项目中获取文本?