中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Node如何上傳文件

發布時間:2021-12-30 10:00:23 來源:億速云 閱讀:182 作者:小新 欄目:大數據

小編給大家分享一下Node如何上傳文件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

        首先,我們可以給出一個最初的方案,然后在代碼中不斷進行完善。我給出的方案一是這樣一個簡單邏輯:

Node如何上傳文件

那接下來首先我們先來完成第一步:檢驗圖片參數

Node如何上傳文件

        我這里寫了一個方法用來檢驗圖片參數是否完整,參數要求為一張啟動圖加上四個商品屬性值,如果參數出現不存在的情況,則直接給客戶端返回error.

        接下來第二步是實現圖片上傳的邏輯,所以我定義了一個通用的上傳文件方法:

uploadPicsAndCheckPar(req, checkParFunc, maxPic, pathDir, isNeedUid, cb)

我們先來看看參數如何理解:

req: 來源于表單請求checkParFunc: 檢測上傳文件參數的方法maxPic: 圖片最大上傳張數限制pathDir: 服務器保存上傳文件文件夾名稱isNeedUid: 為每張圖片分配一個uidcb: 回調到路由層

首先在config.js中配置上傳文件主目錄:

CONFIG.PICSMAINPATH = '/mnt/test';

接下來生成multiparty對象,并配置上傳目標路徑:

var form = new multiparty.Form({uploadDir: (mainPath + '/picTemp/')});

然后執行圖片上傳操作:

form.parse(req,function (error,fields,files)

到這里上傳圖片就結束了么?當然沒有!別忘了剛才我們說過的對圖片數量,大小等做限制。首先我們先解析參數格式:

Node如何上傳文件

檢測上傳圖片數量是否大于我們設置的maxPic,如果超過數量,則刪除上傳的圖片返回error。檢測圖片大小是否超過4M,如果超過4M則刪除圖片返回error

Node如何上傳文件

我們可以看下刪除圖片的邏輯,其實就是循環表單刪除圖片:

Node如何上傳文件

接下來我們還得判斷每張圖片的名稱是否只有一個,一張圖片如果出現兩個名稱則刪除圖片返回error

Node如何上傳文件

當然了,我們上傳文件既然準備封裝成公共方法,當然得適配非圖片文件的情況,我這里針對視頻進行了處理:

Node如何上傳文件

如果視頻大小符合要求,檢驗參數是否符合接口要求,符合接口要求則重命名視頻名稱。那我們來看看重命名方法如何實現:

Node如何上傳文件

首先,我們需要構造路徑,我這里以當前年月日結合uid為路徑,遍歷檢查路徑是否存在,不存在則創建文件夾

Node如何上傳文件

最后更新圖片路徑為真實路徑

Node如何上傳文件

到這里驗證圖片參數全部通過,上傳圖片成功。給路由層返回參數列表。在路由層進行數據庫層邏輯處理。

Node如何上傳文件

到這里一個完整的上傳功能我們就實現完成,接下來我們來測試下上傳接口是否可以正常運轉

Node如何上傳文件

可以看到參數如果不完整,直接給客戶端返回對應的錯誤信息。

Node如何上傳文件

如果按照剛才我們設定的接口要求傳參,就可以看到我們圖片上傳成功。接下來我們可以看下我們定義的上傳文件夾是否有圖片成功上傳。

Node如何上傳文件

        可以看到圖片成功上傳,路徑就是以當前年月日作為文件夾。我們可以快速的查看我們所上傳的圖片。當然,如果需要上傳的資源很多,把所有資源都上傳到服務器會給服務器帶來一定的負荷,所以其實我們可以采用將圖片直接上傳到COS中。COS使用其實很便捷,官方有SDK可以直接引入進行使用,這些本篇就不涉及了。

以上是“Node如何上傳文件”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沈丘县| 广昌县| 沙河市| 分宜县| 海兴县| 宝鸡市| 溆浦县| 孝昌县| 巴林左旗| 鄯善县| 小金县| 信丰县| 双辽市| 雷山县| 绥滨县| 荔浦县| 广平县| 武夷山市| 钟山县| 东城区| 察哈| 平遥县| 阿尔山市| 东阳市| 鄂州市| 泰宁县| 蛟河市| 望奎县| 汾阳市| 阿克苏市| 保定市| 贵定县| 高安市| 安新县| 江川县| 武平县| 金门县| 白河县| 长垣县| 紫阳县| 科技|