接受文件:namesOfPromisedFilesDroppedAtDestination打开Finder窗口

时间:2013-10-24 15:40:37

标签: cocoa file browser drag-and-drop

我有一个NSView来接受来自所有来源的文件 - 本地和远程。我使用NSFilesPromisePboardType接受从浏览器拖动的图像等远程文件。这是我用来将删除的图像复制到我的文件夹中的代码:

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

    if ([[pboard types] containsObject:NSFilesPromisePboardType])
    {
        [sender namesOfPromisedFilesDroppedAtDestination:_fileStorageFolder];
        return YES;
    }

    return NO;
}

现在我注意到了两个问题:

  1. “在粘贴板上查找HFSPromises,但没有找到。”警告 打印到调试控制台。
  2. Finder打开一个新窗口,显示并突出显示新下载的文件。
  3. 在没有任何警告和Finder窗口的情况下从浏览器接收文件的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

回答我自己的问题。 我的代码没有任何问题。在您将文件从浏览器拖放到计算机上的任何位置后,最新版本的Google Chrome打开了Finder窗口。

我发现了谷歌浏览器的错误报告,测试了Opera和Safari - 一切正常。

很抱歉打扰。