cocoa - 接受文件: namesOfPromisedFilesDroppedAtDestination opens Finder window

标签 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 将打开一个新窗口来显示并突出显示新下载的文件。

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

最佳答案

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

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

抱歉打扰。

关于cocoa - 接受文件: namesOfPromisedFilesDroppedAtDestination opens Finder window,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19570438/

相关文章:

cocoa - NSTableView - 使用 NSSortDescriptor 对集合进行排序的更好解决方案

file - 使用 Python 3 和 unicode 写入文件

javascript - window.close() 在 Safari 中弹出返回到原始选项卡

objective-c - 为什么我的包忽略了它的 info.plist?

objective-c - 如何避免在动画(completionBlock)和非动画代码之间出现重复代码

cocoa - NSView 显示代码在 Yosemite 中有效,但在 macOS Sierra 中无效

bash - 如何将大文本文件拆分为行数相等的小文件?

python - 如何使用 Python csv writer 在字符串周围添加单引号?

java - 如何刷新网站直到服务器有响应?在Java中?

browser - 如何下载显示在网页上的文本文件