国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

node 第十四天 基于express的第三方中間件multer node后端處理用戶上傳文件

這篇具有很好參考價(jià)值的文章主要介紹了node 第十四天 基于express的第三方中間件multer node后端處理用戶上傳文件。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

  1. Multer 是一個(gè) node.js 中間件,用于處理multipart/form-data 類型的表單數(shù)據(jù),它主要用于上傳文件。它是寫在 busboy 之上的所以非常高效。
  2. 前面我們已經(jīng)知道了怎樣利用express提供的靜態(tài)資源處理中間件express.static()處理用戶請(qǐng)求靜態(tài)資源文件(圖片, js, css等) 接下來(lái)學(xué)習(xí)如何處理用戶上傳文件, 編寫處理上傳文件的接口 (以圖片為例)
  3. 下面就直接上代碼
const http = require('http');
const fs = require('fs');
const path = require('path');
const express = require('express');
const multer = require('multer');

const app = express();
app.use(express.json());

//文件上傳
//https://github.com/expressjs/multer
const storage = multer.diskStorage({
  destination: (req, file, cb) => {
    const uploadFile = req.params['upload_file'];
    const filename = path.join(__dirname, `./upload/${uploadFile}`);
    fs.existsSync(filename) || fs.mkdirSync(filename);
    cb(null, filename);
  },
  filename: (req, file, cb) => {
    console.log(file);
    let saveName = req.params['saveName'] || Date.now();
    let extName = path.extname(file.originalname || '.jpg');
    cb(null, saveName + '-' + Date.now() + extName);
  }
});
const upload = multer({ storage: storage });

//express中間件的洋蔥模型
app.use('/', (req, res, next) => {
  console.log('根路由');
  next();
  console.log('根路由 洋蔥穿透');
});

app.use('/user', (req, res, next) => {
  console.log('用戶路由');
  next();
  console.log('用戶路由 洋蔥穿透');
});
//用戶可以指定要保存在哪個(gè)文件夾(不存在則創(chuàng)建) 和 保存的文件名
app.use(
  '/user/:upload_file/:saveName',
  (req, res, next) => {
    console.log('上傳路由');
    next();
    console.log('上傳路由 洋蔥穿透');
  },
  upload.array('file'),
  (req, res, next) => {
    console.log(req.headers['content-type'], req.body);
    res.send({ msg: 'upload success !' });
    next();
  }
);

const server = http.createServer(app);
server.listen(3010, () => {
  console.log('listening...');
});
  1. postmen測(cè)試一下就可以啦, 注意請(qǐng)求的數(shù)據(jù)類型應(yīng)該是multipart/form-data
  2. 上面的代碼還提到了express中間件的洋蔥模型
    輸出順序是:
    根路由
    用戶路由
    上傳路由
    上傳路由 洋蔥穿透
    用戶路由 洋蔥穿透
    根路由 洋蔥穿透

這是express中間件的重要機(jī)制, 邏輯上比較像dom事件的捕獲與冒泡階段文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-737964.html

到了這里,關(guān)于node 第十四天 基于express的第三方中間件multer node后端處理用戶上傳文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【力扣刷題 | 第二十四天】

    【力扣刷題 | 第二十四天】

    目錄 前言: 1049. 最后一塊石頭的重量 II - 力扣(LeetCode) 494. 目標(biāo)和 - 力扣(LeetCode) 總結(jié): ? ? ? ? ? ? ? ? ?今天我們依然暴打動(dòng)態(tài)規(guī)劃 有一堆石頭,用整數(shù)數(shù)組?stones 表示。其中?stones[i] 表示第 i 塊石頭的重量。 每一回合,從中選出任意兩塊石頭,然后將它們一起粉

    2024年02月14日
    瀏覽(19)
  • 學(xué)習(xí)Android的第十四天

    目錄 Android DatePicker 日期選擇器 DatePicker 屬性 和 事件 DatePicker 事件 獲得 DatePicker 的值 Android TimePicker 時(shí)間選擇器 TimePicker 屬性 TimePicker 事件 獲得 TimePicker 的值 Android CalendarView 日歷視圖 CalendarView 屬性 CalendarView 事件 獲得 CalendarView 的值 在Android中,DatePicker是一個(gè)用戶界面組件

    2024年02月21日
    瀏覽(24)
  • 學(xué)習(xí)c#的第二十四天

    目錄 C#?事件(Event) 事件概述 如何訂閱和取消訂閱事件 以編程方式訂閱事件 使用匿名函數(shù)訂閱事件 取消訂閱 如何發(fā)布符合 .NET 準(zhǔn)則的事件 發(fā)布基于 EventHandler 模式的事件 如何在派生類中引發(fā)基類事件 如何實(shí)現(xiàn)接口事件 如何實(shí)現(xiàn)自定義事件訪問(wèn)器 示例 事件(Event) 基本

    2024年02月04日
    瀏覽(23)
  • MFC補(bǔ)充第十四天 句柄嫁接與子類化

    句柄嫁接與子類化: a)Attach和Detach就是單純的嫁接與分離函數(shù)。 對(duì)象一旦嫁接入一個(gè)句柄,就可以自由地調(diào)用CWnd或其派生類的功能。 b)子類化Subclass內(nèi)部包含Attach,額外再增加一個(gè)消息轉(zhuǎn)撥到派生類(SubClass就是子類) c)SubClassWindow函數(shù)內(nèi)部核心功能就是Attach和::SetWindowLong

    2024年02月16日
    瀏覽(25)
  • 十四天學(xué)會(huì)C++之第一天(入門和基本語(yǔ)法)

    十四天學(xué)會(huì)C++之第一天(入門和基本語(yǔ)法)

    C++誕生于20世紀(jì)80年代初,它的創(chuàng)造者是計(jì)算機(jī)科學(xué)家Bjarne Stroustrup。當(dāng)時(shí),Stroustrup在貝爾實(shí)驗(yàn)室工作,他希望為C語(yǔ)言添加一些功能,以便更好地支持系統(tǒng)開(kāi)發(fā)。這個(gè)愿望促使他創(chuàng)建了C++。 C++的名字來(lái)源于它的基因,其中的\\\"C\\\"代表了C語(yǔ)言,而\\\"++\\\"表示C語(yǔ)言的一個(gè)增強(qiáng)版本。這

    2024年02月07日
    瀏覽(22)
  • 十四天學(xué)會(huì)C++之第五天:類的詳細(xì)討論

    什么是友元函數(shù)和友元類,它們的作用。 如何聲明和使用友元函數(shù)和友元類,訪問(wèn)類的私有成員。 友元函數(shù)(Friend Functions) 友元函數(shù)是一種特殊的函數(shù),它被允許訪問(wèn)類的私有成員。這意味著即使成員是私有的,友元函數(shù)也能夠直接訪問(wèn)它們,而不需要通過(guò)公有接口。這提

    2024年02月07日
    瀏覽(18)
  • 藍(lán)橋杯十四天沖刺班 第十四天《考場(chǎng)經(jīng)驗(yàn) | 歷年考點(diǎn) | 藍(lán)橋杯押題》《C,JAVA,PY在藍(lán)橋杯中必須要會(huì)用的容器 | 集合》(3K+字解析)

    藍(lán)橋杯十四天沖刺班 第十四天《考場(chǎng)經(jīng)驗(yàn) | 歷年考點(diǎn) | 藍(lán)橋杯押題》《C,JAVA,PY在藍(lán)橋杯中必須要會(huì)用的容器 | 集合》(3K+字解析)

    ???博客首頁(yè):Sonesang的博客 ??歡迎關(guān)注??點(diǎn)贊??收藏??留言?? ?? :熱愛(ài)Java與算法學(xué)習(xí),期待一起交流! ??作者水平很有限,如果發(fā)現(xiàn)錯(cuò)誤,求告知,多謝! ??有問(wèn)題可私信交流?。?! ? 目錄 算法 實(shí)力 = 知識(shí)點(diǎn)+刷題量+速度+靈活的大腦 C++組知識(shí)點(diǎn) java組知識(shí)點(diǎn)

    2023年04月15日
    瀏覽(56)
  • Python學(xué)習(xí)筆記第六十四天(Matplotlib 網(wǎng)格線)

    我們可以使用 pyplot 中的 grid() 方法來(lái)設(shè)置圖表中的網(wǎng)格線。 grid() 方法語(yǔ)法格式如下: 參數(shù)說(shuō)明: b:可選,默認(rèn)為 None,可以設(shè)置布爾值,true 為顯示網(wǎng)格線,false 為不顯示,如果設(shè)置 **kwargs 參數(shù),則值為 true。 which:可選,可選值有 ‘major’、‘minor’ 和 ‘both’,默認(rèn)為

    2024年02月12日
    瀏覽(20)
  • 15天學(xué)習(xí)MySQL計(jì)劃(運(yùn)維篇)分庫(kù)分表-監(jiān)控-第十四天

    15天學(xué)習(xí)MySQL計(jì)劃(運(yùn)維篇)分庫(kù)分表-監(jiān)控-第十四天

    1.介紹 1.問(wèn)題分析 ? 隨著互聯(lián)網(wǎng)及移動(dòng)互聯(lián)網(wǎng)的發(fā)展,應(yīng)用系統(tǒng)的數(shù)據(jù)量也是成指數(shù)式增加,若采用但數(shù)據(jù)進(jìn)行數(shù)據(jù)存儲(chǔ),存在以下性能瓶頸: IO瓶頸:熱點(diǎn)數(shù)據(jù)太多,數(shù)據(jù)庫(kù)緩存不足,產(chǎn)生大量磁盤IO,效率較低。請(qǐng)求數(shù)據(jù)太多,帶寬不夠,網(wǎng)絡(luò)IO瓶頸。 CPU瓶頸:排序,分

    2024年02月05日
    瀏覽(35)
  • 從零開(kāi)始的力扣刷題記錄-第四十四天

    題目描述: 和諧數(shù)組是指一個(gè)數(shù)組里元素的最大值和最小值之間的差別 正好是 1 。 現(xiàn)在,給你一個(gè)整數(shù)數(shù)組 nums ,請(qǐng)你在所有可能的子序列中找到最長(zhǎng)的和諧子序列的長(zhǎng)度。 數(shù)組的子序列是一個(gè)由數(shù)組派生出來(lái)的序列,它可以通過(guò)刪除一些元素或不刪除元素、且不改變其余

    2024年02月07日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包