有没有人成功实施过拖放文件从桌面到应用程序?
我试过把this drag 'n' drop example放到索引文件中,但我得到这个错误:
Can't open same-window link to "file:///C:/Users....whatever"; try target="_blank".
请分享您的故事,您尝试过的内容以及您是否已成功 :)
答案 0 :(得分:2)
一些资源可以帮助您:
我们一直致力于开发的新Chrome Packaged Apps codelab涵盖了AngularJS和纯JavaScript中的拖放功能。
AngularJS拖放:https://github.com/GoogleChrome/chrome-app-codelab/tree/master/lab5_data/angularjs/2_drop_files
JavaScript拖放:https://github.com/GoogleChrome/chrome-app-codelab/tree/master/lab5_data/javascript/2_drop_files
在developer.chrome.com/trunk/apps/app_codelab5_data.html#handle_drag_and_dropped_files_and_urls
上,Chrome的AngularJS拖放也有早期版本的文档。我们正在编写文档以涵盖两个样本。
答案 1 :(得分:1)
我前段时间做过这件事并且有效。
您遇到的问题是您正在创建文件网址,然后尝试导航到网址。导航失败,而不是读取。它由于CSP而失败,由于我们对允许的CSP的安全限制,您可能无法用不同的CSP覆盖它。
但是,你应该能够只读取文件并使用内容。您需要更改该示例代码以使用ReadAsText或ReadAsArrayBuffer而不是readAsDataURL。查看here了解更多详情。
请告诉我们您的情况!
答案 2 :(得分:1)
只听drop
无效。您必须阻止dragover
的默认功能。
document.body.addEventListener('dragover', function(e) {
e.preventDefault();
}
document.body.addEventListener('drop', function(e) {
alert('it works!')
}