1. 程式人生 > >formdata 實現檔案的上傳,node讀取檔案操作

formdata 實現檔案的上傳,node讀取檔案操作

這段時間一直在做上傳檔案,及圖片功能,一直在使用webupload,這幾天想自己試一下搞一個簡單點的上傳檔案,

在網上查閱相關資料後發現formData能滿足要求,便拿來試了一下,期間各種坑,現在把這些記錄下來供以後參考

現在我們這使用node搭建了一個代理伺服器,儲存在mysql搭建的資料庫裡面,再往上看見了一下formData的相關介紹,在這簡單說下,要想詳細瞭解可到網上自行查詢

              我採取的是直接呼叫formData.append()方法;


以上是input標籤,以下是js


web端相關程式碼如上,這樣我們在問前端就實現了一個檔案上傳,接下來我再node的app裡面監聽/upload,



接下來再upload裡面處理上傳過來的formdata,再伺服器端讀取formdata我才用了multiparty,模組


這樣在files裡面就有我們上傳的檔案,注意,uploadFile為我們在前端append的屬性名,files.upload讀取出來後就是一個數組,取其值就可以操作檔案了,

如果再node上讀取並且寫在本地的話,就在先用fs.readFile讀取檔案,再在返回值裡面用fs.writeFile(filename,data)來寫出

fs.writeFile(filename, data, [options], [callback(err)]).

而我在這裡並不是將檔案存在本地,而是傳給另外一個伺服器並存儲,


注意,我在這裡並不是用的是fs.readFile(),而是fs.createReadStream(),主要是後臺的處理的時候他們需要的是檔案流,這樣我們就實現了一個檔案的上傳,

在這裡我就簡單的記錄下了一下我自己的感悟,如果有什麼不對的地方請多指教,謝謝