javascript結合nodejs實現多檔案上傳

來源:互聯網
上載者:User

標籤:問題   .com   images   互動   目錄   src   node   介面   put   

前端檔案上傳功能比較依賴後端,所以第一步用nodejs實現一個供檔案上傳的功能介面。

因為本人對nodejs也是一知半解,所以剛開始的想法是像原始的ajax互動那樣,擷取上傳檔案的內容,然後再通過nodejs的buffer的知識,將擷取到的檔案流輸出到準備好的目錄中。於是就悲劇了。下面是擷取圖片資源的代碼。

運行結果

首先擷取資源是非常的慢,要等幾分鐘才會輸出內容。後來看到可以在每一步擷取檔案流時就進行檔案處理,不必等所有內容擷取後再操作。但是隨之又產生了一個新問題,就是擷取來的檔案內容中不僅包括檔案內容還包括一些其它資訊,需要將與檔案內容無關的內容去除掉。還好nodejs中buffer提供了一系列的操作,但是想一想就麻煩的要死,而且還不好保證操作後的內容全部都是常值內容。就在我陷入崩潰的邊緣時,看到了nodejs中的一個對象multiparty(簡直就是救星),其中專門對formdata對象做了很好封裝,完全可以通過調用其中的方法來實現,於是一個上傳檔案的後端介面便出爐了(想想還有點小激動),下面奉上源碼。

前端js代碼相對來說就思路很清晰了,主要通過input中type=file上傳,可以利用FormData對象將要上傳的檔案資訊寫入到這個對象中,這個對象的好用之處就在於可以向其中添加多個圖片資訊對象,所以多檔案上傳當然不再是什麼難題了!再通過ajax將FormData傳送到我們寫好的介面中即可。哇,終於大功告成!感興趣的小夥伴快去實踐一下把,有了nodejs,我們大前端終於可以獨擋一面了,java什麼的去死把.....

javascript結合nodejs實現多檔案上傳

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.