我实现了一个简单的拖放。主要目的是让用户从浏览器中拖放图像。我有没有可能得到这个图片被拖出的url?
所以我们说,我是这样,我拖放的标志。有没有办法让我知道这是来自http://stackoverflow.com
谢谢

最佳答案

对于不同时也是链接的图像,下面的代码将记录拖动图像来自的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键从文件(如查找器的get info面板中所示)获取“where from”url。

09-07 13:54