5

我必须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 会打开一个新窗口以显示并突出显示新下载的文件。

从浏览器接收文件而没有任何警告和 Finder 窗口的正确方法是什么?

4

1 回答 1

2

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

我找到了 Google Chrome 的错误报告,测试了 Opera 和 Safari - 一切正常。

抱歉打扰了。

于 2013-11-08T17:38:13.403 回答