• <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久久久久久,黄色在线免费观看

    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ù) // 設置文件上傳的地方 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()); // 存放所有的類型文件 //設置跨域訪問 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(), 服務地址: `http://${systemOs.IP()}:${COMPort}/Mailbox`, 靜態(tài)資源: `IP端口地址加上文件名`, 描述: `Node服務已啟動成功`, "swagger-ui": `http://${systemOs.IP()}:${COMPort}/api (ts代碼轉為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, "上傳成功"); } );




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

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


    文章來源:csdn    

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

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


    日歷

    鏈接

    個人資料

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

    存檔

    主站蜘蛛池模板: 8AV国产精品爽爽ⅤA在线观看 | 亚洲人妻免费在线视频| 亚洲成AV人片在线观看高清| 亚洲精品中文字幕电影| 东京热人妻一区二区三区| 久久国产精品精品视频| 又粗又硬又大免费AV| 亚洲 欧美 中文 日韩 综合| 亚洲中文字幕无码卡通动漫野外| av中文一区二区三区| 国产成人午夜福利在线观看蜜芽| 日本乱码伦视频免费播放| 夜色资源站WWW国产在线视频| 中国少妇初尝黑人巨高清| 准格尔旗| baoyu网址国产最新| 亚洲最大成av人网站| 亚洲男人的天堂视频| 国产日韩精品一区二区三区在线| 久久精品午夜一区二区福利| 三上悠亚精品专区久久| 国产精品太粉嫩高中在线观看| 日本高清www午色夜免费观看| 成人影片在线免费观看| 人妻出轨无码中文一区二区| 婷婷久久香蕉五月综合加勒比| 在线观看免费播放av| 国产360激情盗摄一区在线观看| 盐边县| 亚洲欧美国产欧美色欲| 欧美视频在线第一页| 两个人看的视频高清在线www| 欧美xxxx做受欧美gay| 欧美国产日韩久久久| 日区中文字幕一区二区| 日韩亚洲欧美三区中文字幕| 丁香五月亚洲综合在线| 97国内免费久久久久久久久久| 影音先锋最新资源网| 国产一级在线现免费观看| 无码国产一区二区色欲|