• <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <small id="ggggg"></small> <sup id="ggggg"></sup>
    <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <tfoot id="ggggg"></tfoot>
  • <nav id="ggggg"><cite id="ggggg"></cite></nav>
    <nav id="ggggg"></nav>
    成人黃色A片免费看三更小说,精品人妻av区波多野结衣,亚洲第一极品精品无码,欧美综合区自拍亚洲综合,久久99青青精品免费观看,中文字幕在线中字日韩 ,亚洲国产精品18久久久久久,黄色在线免费观看

    nodejs--圖片上傳

    2023-2-8    前端達人

    前端部分

    html部分

    
    
    1. <div class="add">
    2. <p>商品名稱: <input type="text" class="productName"></p>
    3. <p>商品價格: <input type="number" class="price" ></p>
    4. <!-- multiple: 允許同時上傳多張圖片 -->
    5. <!-- <p>商品圖片: <input type="file" class="file" multiple="multiple"></p> -->
    6. <p>商品圖片: <input type="file" class="file"></p>
    7. <p><button class="add-btn">添加商品</button></p>
    8. </div>
    9. <script src="js/axios.js"></script>
    10. <script src="js/util.js"></script>
    11. <script src="js/upload.js"></script>

    upload.js

    
    
    1. // 新建表單數據對象,用來存儲上傳的文件及上傳的其它數據
    2. let param = new FormData()
    3. $(".file").onchange = function(){
    4. //獲取圖片信息
    5. let file = this.files[0]
    6. //"file"為前后端約定vb的屬性名
    7. param.append("file",file)
    8. }
    9. $(".add-btn").onclick = function(){
    10. let productName = $(".productName").value;
    11. let price = $(".price").value;
    12. param.append("productName",productName)
    13. param.append("price",price)
    14. axios.post("/product",param,{
    15. headers: {
    16. // 默認提交的類型
    17. // "content-type": "application/json"
    18. // 復雜的表單數據(只要上傳文件,就必須是下面的類型)
    19. "content-type": "multipart/form-data"
    20. }
    21. })
    22. .then((res)=>{
    23. console.log(res.data);
    24. })
    25. }

    postman

     

    Express后端部分

    使用multer實現圖片上傳

    下載

    npm i multer -S

    引入

    
    
    1. const multer = require("multer")
    2. const path = require("path")

    配置

    注意: 該文件在/router文件夾中,而uploads存放上傳圖片文件夾在根目錄

    
    
    1. var storage = multer.diskStorage({
    2. // 配置文件上傳后存儲的路徑
    3. destination: function (req, file, cb) {
    4. // NodeJS的兩個全局變量
    5. // console.log(__dirname); //獲取當前文件在服務器上的完整目錄
    6. // console.log(__filename); //獲取當前文件在服務器上的完整路徑
    7. cb(null, path.join(__dirname,'../uploads'))
    8. },
    9. // 配置文件上傳后存儲的路徑和文件名
    10. filename: function (req, file, cb) {
    11. console.log('file',file);
    12. cb(null, Date.now() + path.extname(file.originalname))
    13. }
    14. })
    15. var upload = multer({ storage: storage })

    在路由中使用

    
    
    1. //添加商品
    2. router.post("/product",upload.single("file1"),(req,res)=>{
    3. //接收普通文本參數
    4. let {productName,price} = req.body;
    5. 、接收上傳文件數據 -->
    6. let imgUrl = req.file.filename;
    7. let sql = "insert into product (productName,price,imgUrl) values (?,?,?)"
    8. conn.query(sql,[productName, price , imgUrl],(err,result)=>{
    9. if (err){
    10. console.log('增加失敗');
    11. return;
    12. }
    13. let data;
    14. if (result.affectedRows === 1){
    15. data = {
    16. code: 0,
    17. msg: '添加成功'
    18. }
    19. }else{
    20. data = {
    21. code: 1,
    22. msg: '添加失敗'
    23. }
    24. }
    25. res.send(data)
    26. })
    27. })

    如果抽離路由模塊中的處理函數upload.single("file1")寫在Router模塊

    實現寫在抽取的模塊 

     NODEJS--express圖片上傳 - 簡書

    如果req.body為空,可以用nodejs后臺文件上傳模塊connect-multiparty

    使用方法如下:

    1.  安裝模塊

    npm install connect-multiparty --save

    2.  引入模塊

    var multipart = require('connect-multiparty');

    var multipartMiddleware = multipart();

    3.  使用模塊

    const express = require('express')

    const router = express.Router()

    router.post('/formdata',multipartMiddleware, function (req,res) {

    console.log(req.query)

    //分別返回body,文件屬性,以及文件存放地址

    });
    ————————————————
    原文鏈接:https://blog.csdn.net/zjwengyidong/article/details/51407903




    藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請加藍小助,微信號:ben_lanlan,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系01063334945。


    分享此文一切功德,皆悉回向給文章原作者及眾讀者.
    免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。


    藍藍設計www.lzhte.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務UI設計公司、界面設計公司、UI設計服務公司、數據可視化設計公司、UI交互設計公司、高端網站設計公司、UI咨詢、用戶體驗公司、軟件界面設計公司

    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://www.lzhte.cn

    存檔

    主站蜘蛛池模板: 国产午夜福利不卡在线观看| 国产经典在线观看一区| 亚洲国产成人va在线观看网址| 久久深夜福利| 揭东县| 国产精品无码翘臀在线看纯欲| 午夜精品久久久久久久四虎| 日韩极品视频在线观看免费| 99久久久成人国产精品免费| 国产精品va一级二级三级 | 久久棈精品久久久久久噜噜| 国产高清免费午夜在线视频| 污网站免费在线| 69国产成人精品午夜福中文| 久久99久久精品视频| 91夜夜人人揉人人捏人人添| 天天干天天射天天操| 贡觉县| 国产精品欧美在线另类小说| 日韩手机在线视频| 宿州市| 成人网在线| 国产三级在线观看播放视频| 南宫市| 99久热只有精品视频最新| 中文字幕天无码久久精品视频免费 | 精品不卡一区二区三区| 91探花在线观看国产最新| 欧美日韩亚洲国产一区二区综合| 一区二区三区不卡国产| 91久久香蕉国产线看观看软件| 日本三级香港三级人妇gg在线 | 亚洲综合色自拍一区| 亚洲日韩国产欧美一区二区三区| 国产精品国产三级国产专I| 奇米777四色影视在线看| 无码国产成人午夜视频在线播放| 日本中文字幕一区二区三区不卡 | 日吹毛片日韩v国产v亚洲v精品v | 国产精品中文av专线| 亚洲国产AV一区二区三区四区|