macos - 如何为 NSPasteboardTypeFileURL 设置DataProvider
问题描述
我想粘贴一个应该从服务器下载的文件。我为 NSPasteboardTypeFileURL 类型设置了粘贴板
NSPasteboardItem *item = [[NSPasteboardItem alloc] init];
[item setDataProvider:self forTypes:[NSArray arrayWithObject:NSPasteboardTypeFileURL]];
[item setString:@"file:///Users/dry/Desktop/Amove.mp4" forType:NSPasteboardTypeFileURL];
[pasteboard writeObjects:[NSArray arrayWithObject:item]];
我在路径:“/Users/dry/Desktop”创建了一个名为“Amove.mp4”的空文件,它显示我可以将其粘贴到其他目录,但粘贴的文件是我应该从服务器下载的空文件它之前实际上粘贴到其他目录。我指的是微软远程桌面,当我复制一个大文件时,它设置了粘贴板 FILEURL:file:///var/folders/dv/34y33j8s1t16b4pv48qgg90h0000gn/T/0F5ADFBF-EB20-4F92-834F-40D0D4FDA8AD/a.mp4 我发现这是一个没有内容的空文件,我粘贴后会进入下载,下载完成后粘贴。我怎样才能像 Microsoft 远程桌面一样实现它?
我尝试使用 [item setDataProvider:self forTypes:[NSArray arrayWithObject:NSPasteboardTypeFileURL]]; 它没办法。
解决方案
推荐阅读
- python - 在字典中查找值列表并重新调整其键
- python - Python 2D 列表完整搜索优化问题
- javascript - Firebase Auth State Persistence ELECTRON loadFILE vs loadURL
- angular - 如何修复错误未捕获(承诺):错误:单击 Material Angular 表中的导航行时无法匹配任何路线?
- c++ - 有没有更好的方法将 QPushButton 的数组连接到一个插槽,以便每个按钮在按下时都有一个唯一的标识符?
- amazon-web-services - 使用 DMS 进行跨账户数据共享
- python - 在生产中的 docker 容器中运行 celery (plesk)
- reactjs - 跨 redux sagas 同步令牌获取的最佳方法
- java - Scala:两个具有相同实现的类
- azure - 关于 Azure 备份