基於nodejs的檔案上傳

2021-10-03 23:25:59 字數 2449 閱讀 2155

nodejs的檔案上傳需要依賴於multer這個中介軟體,multer接受form-data編碼資料,所有要求前端攜帶的時候要注意一下,如:

如果表單不是enctype這個格式,表單是拿不到檔案。

1.先搭建伺服器

//匯入express框架

const express = require(

"express"

)//建立web服務

)//監聽埠)=

>

)

2.檔案上傳 前端例如上傳一張給後端,後端需要將存入到upload資料夾裡面去
//1.引入multer中介軟體

const multer = require(

"multer"

)//2.例項化multer(這個例項內部已經進行過封裝)

//同時建立資料夾upload,需要上傳的放到upload資料夾裡

let objmulter = multer(

); //dest: 指定 儲存位置(存到伺服器)

3.現在利用api/reg這個介面請求一下這個檔案有沒有files這個屬性,再postman測試

這時候在控制太列印的是undefined,所以我們要使用multer這個中介軟體

4.安裝中介軟體

)) //執行上傳什麼型別的檔案 any就代表任意型別

5.安裝完中介軟體,再去postman測試,同時上傳一張,這時候在控制台列印出

fieldname: 表單name名

originalname: 上傳的檔名

encoding: 編碼方式

mimetype: 檔案型別

buffer: 檔案本身

size:尺寸

destination: 儲存路徑

filename: 儲存後的檔名 不含字尾

path: 儲存磁碟路徑+儲存後的檔名 不含字尾

6.需要對檔案更名,同時引入fs模組,和path模組,再去測試

"/api/reg",(req,res)

=>

)測試完之後會在資料夾**現上傳的

7.如果上傳的要讓前端瀏覽,要做乙個靜態託管,同時建立乙個資料夾public,把之前的upload放到public資料夾下面

//靜態資源託管 最終要訪問http://localhost:5000/upload/************xx.webp(jpg)

"./public/upload"

))

8.將位址返回給客戶端,然後去postman測試,這是返回乙個位址
res.send(

)

![在這裡插入描述](

將這個位址在瀏覽器開啟http://localhost:5000/upload/922d545d451ee04b0843cebcd59a1771.jpg

![在這裡插入描述](

最後顯示在瀏覽器上

**如下
//匯入express框架

const express = require(

"express"

)//匯入fs框架

const fs = require(

"fs"

)//匯入path框架

const path = require(

"path"

)//建立web服務

)//監聽埠)=

>

)//靜態資源託管 最終要訪問http://localhost:5000/upload/************xx.webp(jpg)

"./public"

))//1.引入multer中介軟體

const multer = require(

"multer"

)//2.例項化multer(這個例項內部已經進行過封裝)

//同時建立資料夾upload,需要上傳的放到upload資料夾裡

let objmulter = multer(

); //dest: 指定 儲存位置(存到伺服器)

//3.安裝中介軟體

)) //執行上傳什麼型別的檔案 any就代表任意型別

"/api/reg",(req,res)

=>)}

)

nodejs實現檔案上傳

前段時間在做個人專案的時候,用到了nodejs服務端上傳檔案,現在回頭把這個小結一下,作為記錄。本人上傳檔案時是基於express的multiparty,當然也可以使用connect multiparty中介軟體實現,但官方似乎不推薦使用connect multiparty中介軟體。廢話不多說,下面...

nodejs實現檔案上傳

客戶端的上傳可以使用表單,或者直接使用ajax,我們這裡使用ajax 服務端 const express require express var upload require src router upload console.log server is running at upload.js v...

nodejs實現檔案上傳查詢

專案目錄 1.files目錄下存放檔案 2.public目錄存放靜態檔案,例如html檔案 前端 search.html 引入框架 var express require express 定義檔案物件 var fs require fs 編碼 var iconv require iconv lite...