Google chrome extension 拖动';n';将文件放入Chrome软件包应用程序?

Google chrome extension 拖动';n';将文件放入Chrome软件包应用程序?,google-chrome-extension,google-chrome-app,Google Chrome Extension,Google Chrome App,是否有人成功地将文件从桌面拖放到应用程序 我尝试将其放入索引文件中,但出现以下错误: Can't open same-window link to "file:///C:/Users....whatever"; try target="_blank". 请分享你的故事,你尝试过什么,如果你成功了:)我不久前就这样做了,效果很好 您遇到的问题是,您正在创建一个文件url,然后尝试导航到该url。导航失败,而不是读取失败。由于CSP,它失败了,并且由于我们对允许的CSP设置了安全限制,您可能无法使

是否有人成功地将文件从桌面拖放到应用程序

我尝试将其放入索引文件中,但出现以下错误:

Can't open same-window link to "file:///C:/Users....whatever"; try target="_blank".

请分享你的故事,你尝试过什么,如果你成功了:)

我不久前就这样做了,效果很好

您遇到的问题是,您正在创建一个文件url,然后尝试导航到该url。导航失败,而不是读取失败。由于CSP,它失败了,并且由于我们对允许的CSP设置了安全限制,您可能无法使用不同的CSP覆盖它

但是,您应该能够读取文件并使用内容。您需要更改该示例代码以使用ReadAsText或ReadAsArrayBuffer而不是readAsDataURL。寻找更多细节


请让我们知道你进展如何

一些资源可以帮助您:

我们一直在开发的新Chrome打包应用程序codelab涵盖了AngularJS和纯JavaScript中的拖放功能

AngularJS拖放:

JavaScript拖放:

在developer.Chrome.com/trunk/apps/app_codelab5_data.html#handle_drag_and_drop_files_and_url上也有一个早期版本的文档供AngularJS drag and drop for Chrome使用


不过,我们正在编写文档,以涵盖这两个样本。

只听
删除
是行不通的。您必须阻止
dragover
的默认功能

document.body.addEventListener('dragover', function(e) {
  e.preventDefault();
}

document.body.addEventListener('drop', function(e) {
  alert('it works!')
}

它被上传到哪里?这个示例应用可能会帮助你:我不久前也这么做了,它工作了,但从那时起,实现中的一些细节发生了变化,现在它不工作了。当时没有一个好的资源来记录如何做到这一点,我仍然找不到一个好的资源。