2013-03-17 96 views
6

有沒有人成功實現拖放文件從桌面到應用程序?將'n'Drop文件拖放到Chrome Package App?

我試着只是把this drag 'n' drop example入索引文件,但我剛剛得到這個錯誤:

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

請分享你的故事,你已經嘗試過什麼,如果你有成功:)

+0

它在哪裏上傳? – Mooseman 2013-03-17 22:46:03

+0

這個示例應用程序可能會幫助你:https://developer.chrome.com/trunk/apps/angular_framework.html#seven – 2013-03-18 01:45:08

回答

1

前段時間我已經完成了這個工作。

你得到的問題是你正在創建一個文件的URL,然後試圖導航到該網址。導航失敗,而不是閱讀。它由於CSP而失敗,並且由於我們放置在允許的CSP上的安全限制,您可能無法使用不同的CSP覆蓋它。

但是,您應該能夠只讀取文件並使用內容。您需要更改該示例代碼以使用ReadAsText或ReadAsArrayBuffer,而不是readAsDataURL。查看here瞭解更多詳情。

請讓我們知道你如何繼續!

+0

我前一陣子也這樣做了,它的工作,但自那時起,實施中的一些細節已經改變,現在它不起作用。當時沒有很好的資源來記錄如何做到這一點,我仍然找不到一個好的資源。 – kzahel 2013-08-16 14:34:55

2

一些資源,幫助您:

新的Chrome封裝應用程式碼實驗室,我們一直在努力覆蓋拖動和下降都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

有文檔的早期版本太多了AngularJS拖和下降爲Chrome在developer.chrome.com /trunk/apps/app_codelab5_data.html#handle_drag_and_dropped_files_and_urls

儘管我們正在處理文檔以涵蓋兩個示例。

1

只聽drop將無法​​正常工作。您將不得不阻止dragover的默認功能。

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

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