<thead id="kdfuf"><font id="kdfuf"></font></thead>
<samp id="kdfuf"></samp>
    <nav id="kdfuf"><strong id="kdfuf"></strong></nav>
      中文字幕无码一区二区三区在线,久久精品人人做人人爽,国产一级内射无挡观看,十八禁在线黄色网站,日韩欧美国产另类久久久精品 ,少妇人妻偷人精品一区二区,久久午夜视频,亚洲春色AⅤ无码专区

      uni-app uni.uploadFile 多圖上傳 Node.js后端接收

      2021-5-20    前端達(dá)人

      uni-app 代碼

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

      選擇圖片代碼以及文檔

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

      在這里插入圖片描述

      上傳圖片以及文檔

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

      *多圖上傳注意 files 數(shù)組 對(duì)象不能直接傳 tempFilePaths這個(gè)數(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) => { //上傳文件的臨時(shí)路徑 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('圖片上傳失敗,請(qǐng)聯(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" ); //自定義請(qǐng)求頭 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") { // 攔截請(qǐng)求 return res.send(); } next(); }); app.listen(COMPort, (err: Error) => { if (err) { console.log('啟動(dòng)錯(cuò)誤', err) } console.table({ 端口: COMPort, IP: systemOs.IP(), 服務(wù)地址: `http://${systemOs.IP()}:${COMPort}/Mailbox`, 靜態(tài)資源: `IP端口地址加上文件名`, 描述: `Node服務(wù)已啟動(dòng)成功`, "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, "上傳成功"); } );




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

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


      文章來源:csdn    

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

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


      日歷

      鏈接

      個(gè)人資料

      存檔

      主站蜘蛛池模板: 一道av无码无卡| 宝贝腿开大点我添添公口述视频 | 毛片内射久久久一区| 337p粉嫩日本大胆艺术| 久久久久久久aⅴ无码免费网站| 久久久久青草线综合超碰| 欧美ZO人妇另类| 天堂√在线中文最新版8| 家庭乱码伦区中文字幕| 欧美日韩国产在线一区二区| 国产伦精品免编号公布| 国产熟女高潮精选视频| 日本丰满熟妇videossexhd| 男人的天堂全亚洲更新最快| 中文人妻AV久久人妻水密桃| 亚洲欧好州第一的日产SUV| 久久精品a一国产免费网站| 亚洲偷自拍国综合| 午夜射精日本三级| 国产一级a毛一级a看免费视频 | 亚洲色成人网站www永久下载| 七次郎在线视频| 少妇人妻无码专区视频| 国产成人久久精品激情| 久久精品国产亚洲AV蜜臀色欲| 在线精品自拍亚洲第一区| 国产成熟女人色惰片| 国产精品午夜福利麻豆| 国产AV无码专区亚洲AV极速版| 一道av无码无卡| 免费人成年激情视频在线观看 | 人妻春色欧美另类综合| 国产熟睡乱子伦视频 | 久久99热只有频精品6狠狠| 精品91自产拍在线| 波多野结衣一区二区| 中文日产乱幕九区无线码| 粗大的内捧猛烈进出少妇视频黑人 | 欧美成人秋霞久久AA片| 3组夫妇交换中文字幕| 91尤物无码不卡在线|