2016-11-29 35 views
-2

我希望能夠編輯已選擇上傳的文件。我想搜索和替換的情況下絕對的文本文件,應當作出相對...編輯要上傳的文件

我的文件API,我可以做一些它注意到,但我得到一個有點卡住:

document.getElementById('exampleInputFile').onchange = function(event) { 
    var fileToLoad = event.target.files[0]; 

    if (fileToLoad) { 
    var reader = new FileReader(); 
    reader.onload = function(fileLoadedEvent) { 
     var textFromFileLoaded = fileLoadedEvent.target.result; 
     //Use logic to remove absolute files 
     //Upload S3 
    }; 
    reader.readAsText(fileToLoad, 'UTF-8'); 
    } 
}; 

我我試圖弄清楚現在如何將該文本轉換爲適當的文件,以便我可以使用現有的api將其上傳到S3,該api需要以上代碼返回:event.target.files[0]代碼。

我不希望服務器在這裏處理任何繁重的工作,如果我可以避免它(文件可以很容易地是幾兆字節,因爲它們可以是3D模型)。

回答

0

假設你知道文件的URL地址在S3存儲桶中時,你可以使用http.get檢索文件,這會給你(我假設純文本文件)的內容。然後,您可以解析該文件,並對內容進行任何需要修改的操作。如果文件已更改,則可以將其寫回S3存儲桶以替換原始文件。

+0

我想避免服務器參與此編碼過程,並讓客戶端處理解析文件的工作。據我所知,有時候可能會有幾兆字節。 – msj121

0

在AWS上,您可以使用Lambda在事件觸發時執行NodeJS代碼(例如上傳到指定的存儲桶)。

+0

好點,我已經忘記了這一點,儘管@ msj121可能更喜歡將他所有的代碼放在流星 – Mikkel

+0

這可能會解決,因爲它避免我的服務器,但我想避免使用S3本身,以防我想更換服務器,或更改開發/生產服務器的編碼(我允許兩者都訪問相同的S3實例)。我已經發布了部分客戶端版本 – msj121

+0

爲什麼你在第一篇文章中談到S3? – Almaju

相關問題