【问题标题】:Accepting files: namesOfPromisedFilesDroppedAtDestination opens Finder window接受文件:namesOfPromisedFilesDroppedAtDestination 打开 Finder 窗口
【发布时间】:2013-11-03 10:14:02
【问题描述】:

我有一个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;
}

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

  1. “在粘贴板上查找 HFSPromises,但没有找到。”警告 打印到调试控制台中。
  2. Finder 会打开一个新窗口以显示并突出显示新下载的文件。

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

【问题讨论】:

  • 我忘了说我运行的是 OSX 10.7.5 Lion。
  • 你能把更多的代码贴在这里吗?
  • @hussain Shabbir:我已经更新了我的问题中的源代码。这是一个简单的 performDragOperation 方法。我只是想接受“承诺的文件”。
  • 让我们从确认这个 Finder 问题开始。有没有人看到相同的行为?
  • 有人吗?这似乎是一个常见的情况。我敢肯定有人遇到过同样的困难......

标签: cocoa file browser drag-and-drop


【解决方案1】:

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

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

抱歉打扰了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 2021-07-20
    • 2023-03-16
    相关资源
    最近更新 更多