天天看點

node ajax檔案上傳,如何使用Node.js上傳檔案

Node.js正在迅速成為更受歡迎的Web開發架構之一。繼續閱讀以熟悉這個強大的JavaScript技術!

如今,前端開發對後端程序造成了很大的影響,尤其是在JavaScript領域。JS最初是一種針對浏覽器的語言,已經成熟為現代工具的每一個角落。與JavaScript中的各種庫互動的文法在前端和後端環境之間可能會令人混淆地相同,是以有助于清楚地了解正在發生的事情。我們将在下面簡要讨論上下文,然後我将以自己的方式結束您上傳帶節點的檔案。

node ajax檔案上傳,如何使用Node.js上傳檔案

問題:資訊過載

搜尋“JavaScript檔案上傳”将産生大量結果,但乍看之下很難說出哪些實際示例針對您的特定需求。SDK通常不關心它們運作的程度,是以開發人員需要清楚地了解所涉及的細微差别。

上傳檔案

當我們說“上傳”時,我們在談論什麼?“向上”和“向下”的概念分别暗示伺服器和用戶端存儲。我們正在擷取源檔案并将其從一個存儲位置移動到另一個存儲位置。當我們在前端建構時,很明顯使用者的用戶端是“向下”位置,并且上傳會将使用者檔案的副本從其用戶端“向上”移動到伺服器,雲或CDN。當我們在伺服器上建構時......哪種方式可以了?

了解Filestack的架構

當您使用Filestack的軟體即服務(SaaS)時,您将釋放出具有強大功能的龐大全球網絡。您正在跳過有效上傳,轉換,傳遞和智能的功能研究和開發。所有這一切都始于将您的内容(和/或使用者的内容)帶入該世界。您可以攜帶自己的存儲後端,如亞馬遜的S3存儲桶,或使用我們的預設存儲。您可以直接與我們的REST API互動,或利用我們的SDK之一。您可以使用任何語言,任何體系結構和任何内容政策。

如果您是配置帳戶的人,則可以設定不同的後端存儲選項和首選項。如果沒有,你可以完全忽略幕後發生的事情,隻需編寫代碼。在那種情況下,“上傳”就像将内容交給Filestack的系統一樣簡單。我們可以通過從運作節點的同一台計算機上移動檔案來實作,甚至可以使用節點作為傳輸來從其他地方移動檔案。最終的結果是檔案進入Filestack世界,在這種情況下我們稱之為“上傳”(即使發生的事情可能看起來更像是側載,交叉載荷,或者是下載下傳再次加載 - 這取決于你!)。

解決方案:使用Filestack的JS SDK

不要重新發明輪子!這是使用Filestack的JavaScript SDK将檔案從Node項目上傳到雲的快速解決方案。更重要的是,我們會清楚地說明正在發生的事情,以及如果從前端處理這個問題會有什麼不同。

擷取SDK

JavaScript過去常常有兩個用于擷取包和庫的主要系統。在前端,我們使用了Bower。Bbower中的軟體包适用于前端傳遞,是以運作一個工具将它們全部引入項目是有意義的。在後端,npm是王道。這些軟體包旨在在Node内部運作,通常在完整堆棧JS開發的早期階段在MEAN堆棧中運作。

現在,項目越來越多地使用複雜的工具鍊來建構所有東西。我們不是在HTML中包含.js檔案來擷取前端架構或庫,而是使用轉發器和其他處理工具來處理我們發送到浏覽器的代碼。我們不再直接在浏覽器中将不同的庫連接配接在一起; 甚至Bower項目本身也建議使用Webpack作為解決舊問題的更現代的解決方案。我們使用類似TypeScript的超語言編寫,然後處理所有代碼和導入的庫,并在最後将其調整為密集,優化,可發送的包。

乍一看,這可能會讓人感到困惑,尤其是如果您剛接觸JavaScript世界的話。您可以通過多種方式擷取Filestack的JavaScript SDK等SDK:

拉取源代碼來git clone https://github.com/filestack/filestack-js.git。将GitHub源作為.zip檔案下載下傳并在計算機上解壓縮。npm install filestack-js,将npm包拉入您的項目。npm install -g filestack-js,将npm包拉入您的全局系統。yarn install filestack-js,拉同樣的npm包(但使用紗線代替npm)。yarn global add filestack-js,将npm包添加到yarn的全局安裝中。将filestack-js包作為依賴項添加到項目根檔案夾中的package.json中,然後在該檔案夾中運作`npm install`或`yarn install` ...

那隻是短名單!讓我們分解一下:最終你想要從你的Node代碼中獲得filestack-js包。而已。進入該軟體包的代碼來自GitHub,可能會被不同的工具傳遞,但是,在一天結束時,它隻需要在您可以調用其功能的項目中着陸。您不需要在全球範圍内安裝它,也不需要做任何花哨的事情來擷取它。一種方法與另一種方法一樣好。

有趣的事實:如前所述,許多項目正在轉向使用TypeScript編寫,然後将導出的代碼轉換為JavaScript。Filestack的SDK正是這樣做的!源代碼是用TypeScript編寫的,它本身就是一個npm子產品,可以根據需要導入。這一切都在幕後自動無縫地發生,是以您可以專注于您的代碼!

一旦安裝了filestack-js npm軟體包,您就可以在項目目錄中看到它。例如,如果我在名為my-test-directory的目錄中運作`npm init`,然後在同一目錄中運作`npm install filestack-js`,我将能夠看到my-test-directory / node_modules / filestack-js /确認它在那裡。您還會看到在node_modules目錄中安裝了大量其他軟體包; 沒關系!根據您安裝的軟體包的要求,它們被引入以獲得支援。這個目錄結構很神奇:Node專門在node_modules位置查找你在代碼中調用的子產品名稱。

舉報/回報