2016-05-11 111 views
0

ng-file-upload是一個非常有效的庫,我想在添加加密系統後使用它。上傳前如何加密文件?

我想在上載JavaScript之前用JavaScript中的RSA協議加密文件。你有任何想法如何使用ng-file-upload來做到這一點?

有沒有辦法在上傳文件之前更改blob?

PS:加密必須在JavaScript中,因爲我無法使用HTTPS。

回答

0

您是否打算修改ng-file-upload?如果沒有,您可以使用它們爲每個文件提供的$ngfBlobUrl

閱讀使用HTML5 fileReader API獲取二進制數據。加密這些數據並將其轉換回blob(在interwebz上可以找到這樣做的功能)。然後您可以將其發送回服務器。

+0

Thx爲答案。 如果可能的話,我不希望fork ng-file-upload。但事實上,我的問題更多的是關於剪切文件是小塊,加密每一塊,然後發送所有的文件。因爲在大文件上,我無法一次加密它。 –

+0

好的,這是你必須做的。 從blobURL 拆分獲得blobData以塊的字符串(我去每個約10000字) 加密塊獨立,那麼當一切完成後,轉換數組到JSON字符串,然後保存該字符串到文本文件(與blob)。 反轉此過程以解密文件。 我強烈建議使用** WebWorkers **,因爲它們在單獨的線程上工作,不會滯後用戶界面,因爲此過程可能會變得很沉重。 查看pm.highshare.com的源代碼,去年我對它進行了編碼,希望對它有所幫助。 –

+0

好吧,我更好地理解如何做到這一點。這似乎是一個好方法。我嘗試它! –

相關問題