2017-02-23 112 views
0

困難來自chrome擴展只能通過與擴展分開的background.js文件創建外部http請求,並且兩者之間的所有通信都被序列化,這將刪除文件。如何從Chrome擴展上傳文件?

我從1 ++年前就已經找到了一些解決方案,但所有這些解決方案似乎都非常黑,並且無法繼續工作(這往往會發生在hacky解決方案中)。

所以我想知道是否可以在任何網站上打開的Chrome擴展上傳文件。

+0

爲什麼你認爲你不能從內容腳本發出請求? – Makyen

+0

難度@Makyen正在將文件傳遞給內容腳本,請求可以發到 – coiso

+0

然後你的問題就不清楚了。請[編輯]問題來說明*你正在嘗試做什麼。請明確點。例如,「make external http requests」應該正確地告訴我們*您正在使用哪些方法。 – Makyen

回答

1

如果內存服務,我相當確定我正在從Chrome擴展中的內容腳本發出外部Web請求。

但是,如果我們只考慮如何將文件放入後臺線程中,可根據需要跳轉到以下選項。

  1. chrome.storage可以用來訪問本地存儲
  2. chrome.fileSystem可以被用於訪問主機文件系統
  3. 文件的內容可以被適當地編碼的(說的base64)和JSON消息跨越與chrome.runtime.sendMessage發送。 (我不確定是否有消息大小限制,如果有消息大小,我想它可能會發送)