<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • uni-app uni.uploadFile 多圖上傳 Node.js后端接收

    2021-5-20    前端達人

    uni-app 代碼

    選擇圖片代碼(uniapp 代碼示例)

    選擇圖片代碼以及文檔

    uni.chooseImage({ success: (chooseImageRes) => { const tempFilePaths = chooseImageRes.tempFilePaths; } }); 
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在這里插入圖片描述

    上傳圖片以及文檔

    tempFilePaths 為選擇圖片res 里面的其中一個對象
    注意:uniapp 上傳圖片不能上傳選中的File 文件(tempFiles這個數(shù)組的東西不能夠上傳) 要上傳(tempFilePaths)讀取圖片后數(shù)組的 此數(shù)組可以用來瀏覽,上傳
    選擇圖片加上傳圖片代碼

    *多圖上傳注意 files 數(shù)組 對象不能直接傳 tempFilePaths這個數(shù)組 必須要更改

     let img = []; for (let i = 0; i < tempFilePaths.length; i++) { let obj = new Object(); obj.name = `file` + i; obj.uri = tempFilePaths[i]; img.push(obj); obj = null; } 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    uniapp 全部代碼

     uni.chooseImage({ count: 9, success: (res) => { //上傳文件的臨時路徑 const tempFilePaths = res.tempFilePaths; let img = []; for (let i = 0; i < tempFilePaths.length; i++) { let obj = new Object(); obj.name = `file` + i; obj.uri = tempFilePaths[i]; img.push(obj); obj = null; } const tempFilePaths = res.tempFilePaths; console.log(res); uni.uploadFile({ url:'http://192.168.88.15:8978/Mailbox/'+that.api.pudatefiles, filePath: tempFilePaths[0], files: img , name: 'file', success: (uploadFileRes) => { console.log(uploadFileRes) uni.hideLoading(); if (back.status == "0") { console.log(that.host + back.filepath[0]) that.editorCtx.insertImage({ src: that.host + back.filepath[0], alt: '圖像', success: function() {} }) } else { console.log(back.msg); } }, fail: () => { uni.hideLoading(); console.log('圖片上傳失敗,請聯(lián)系開發(fā)'); } }); } }) 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    在這里插入圖片描述

    Node后端

    1. npm install multer
    2. npm i express

    var express = require("express"); //Express框架 const multer = require("multer"); // multer中間件上傳圖片 接收文件post數(shù)據(jù) // 設(shè)置文件上傳的地方 let storage = multer.diskStorage({ destination: (req: any, file: any, cb: Function) => { cb(null, "./StaticResource/pudate/"); }, filename: (req: any, file: any, cb: Function) => { cb(null, Date.now() + "-" + file.originalname); }, }); let multerObj = multer({ dest: "./StaticResource/pudate/", storage }); //存放上傳的文件 app.use(multerObj.any()); // 存放所有的類型文件 //設(shè)置跨域訪問 app.all("*", (req: any, res: any, next: Function) => { res.header("Access-Control-Allow-Origin", "*"); res.header( "Access-Control-Allow-Headers", "Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild" ); res.header( "Access-Control-Allow-Headers", "content-type,SelfSummerHeader,Authorization" ); //自定義請求頭 res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS"); res.header("X-Powered-By", "3.2.1"); res.header("Content-Type", "application/json;charset=UTF-8"); res.header("Content-Type", "text/xml"); if (req.method === "OPTIONS" || req.url === "/favicon.ico") { // 攔截請求 return res.send(); } next(); }); app.listen(COMPort, (err: Error) => { if (err) { console.log('啟動錯誤', err) } console.table({ 端口: COMPort, IP: systemOs.IP(), 服務(wù)地址: `http://${systemOs.IP()}:${COMPort}/Mailbox`, 靜態(tài)資源: `IP端口地址加上文件名`, 描述: `Node服務(wù)已啟動成功`, "swagger-ui": `http://${systemOs.IP()}:${COMPort}/api (ts代碼轉(zhuǎn)為js代碼可以正常使用)`, }); // 掛載自定義中間件 app.use(middleware_router.bodyData); }); router.all( "/pudatefiles", (req: { files: { path: string }[] }, res: any, next: any) => { let data: Array<string> = []; console.log(req.files); req.files?.forEach((item: any) => { let url = item?.path.replace(/\\/g, "/"); data.push(url?.replace("StaticResource", "")); }); res.sendSuccess(data, "上傳成功"); } );




    藍藍設(shè)計建立了UI設(shè)計分享群,每天會分享國內(nèi)外的一些優(yōu)秀設(shè)計,如果有興趣的話,可以進入一起成長學(xué)習(xí),請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務(wù)合作,也請與我們聯(lián)系。

    截屏2021-05-13 上午11.41.03.png


    文章來源:csdn    

    分享此文一切功德,皆悉回向給文章原作者及眾讀者.
    免責(zé)聲明:藍藍設(shè)計尊重原作者,文章的版權(quán)歸原作者。如涉及版權(quán)問題,請及時與我們?nèi)〉寐?lián)系,我們立即更正或刪除。

    藍藍設(shè)計www.skdbbs.com )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標(biāo)定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 、平面設(shè)計服務(wù)


    日歷

    鏈接

    個人資料

    藍藍設(shè)計的小編 http://www.skdbbs.com

    存檔

    主站蜘蛛池模板: 成人精品视频99在线观看免费 | 国产精品黄页免费高清在线观看| 久99久无码精品视频免费播放| 国产精品偷伦视频观看免费| 亚洲国产午夜中文字幕精品黄网站| 四虎永久在线精品国产免费| 国内精品久久久人妻中文字幕| 欧美日韩在线精品一区二区三区激情综合| 99re这里只有精品6| 亚洲精品无码国产| 乱人伦人妻精品一区二区| 欧美一卡2卡3卡四卡海外精品| 精品人妻中文av一区二区三区| 亚洲爆乳精品无码一区二区| 国产一区二区精品久久凹凸| 亚洲国产精品久久久久婷婷老年| 国产精品亚洲成在人线| 无码日韩精品一区二区免费 | 国产精品久线在线观看| 一本一本久久a久久综合精品蜜桃| 精品久久久无码中文字幕| 国产91在线精品| 91精品成人免费国产片| 国产第一福利精品导航| 大伊香蕉精品一区视频在线| 久久丫精品国产亚洲av| 香蕉久久夜色精品升级完成| 亚洲中文字幕久久精品无码喷水| 人妻少妇看A偷人无码精品| 国产午夜精品理论片| 成人免费精品网站在线观看影片 | 久久香蕉超碰97国产精品| 香蕉99久久国产综合精品宅男自| 久久国产热这里只有精品| 精品视频在线观看你懂的一区| 国产呦小j女精品视频| 国产亚洲精品a在线观看| 久99久无码精品视频免费播放| 国内精品久久久久久久亚洲| 热re99久久6国产精品免费| 久久精品国产一区二区|