如何使用微信小程序做出圖片上傳

這次給大家?guī)砣绾问褂梦⑿判〕绦蜃龀鰣D片上傳,使用微信小程序做出圖片上傳的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。愛掏網(wǎng) - it200.com

先來看一下微信小程序的api

來看一下頁面效果

查看大圖

wxml文件代碼:

?
?????
??????
???????
???????營業(yè)執(zhí)照?
???????{{imageList.length}}/{{count[countIndex]}}?
???????
???????
????????
?????????
??????????
???????????
??????????
?????????
????????
????????
?????????
????????
???????
??????
???
登錄后復(fù)制

js文件代碼

chooseImage:?function?()?{?
??var?that?=?this;?
??console.log('aaaaaaaaaaaaaaaaaaaa')?
??
??wx.chooseImage({?
???count:?this.data.count[this.data.countIndex],?
???success:?function?(res)?{?
????console.log('ssssssssssssssssssssssssss')?
????//緩存下?
????wx.showToast({?
?????title:?'正在上傳...',?
?????icon:?'loading',?
?????mask:?true,?
?????duration:?2000,?
?????success:?function?(ress)?{?
??????console.log('成功加載動畫');?
?????}?
????})?
?
????console.log(res)?
????that.setData({?
?????imageList:?res.tempFilePaths?
????})?
????//獲取第一張圖片地址?
????var?filep?=?res.tempFilePaths[0]?
????//向服務(wù)器端上傳圖片?
????//?getApp().data.servsers,這是在app.js文件里定義的后端服務(wù)器地址?
????wx.uploadFile({?
?????url:?getApp().data.servsers?+?'/weixin/wx_upload.do',?
?????filePath:?filep,?
?????name:?'file',?
?????formData:?{?
??????'user':?'test'?
?????},?
?????success:?function?(res)?{?
??????console.log(res)?
??????console.log(res.data)?
??????var?sss=?JSON.parse(res.data)?
??????var?dizhi?=?sss.dizhi;?
??????//輸出圖片地址?
??????console.log(dizhi);?
??????that.setData({?
???????"dizhi":?dizhi?
??????})?
?
??????//do?something??
?????},?fail:?function?(err)?{?
??????console.log(err)?
?????}??
??????});?
???}?
??})?
?},?
?previewImage:?function?(e)?{?
??var?current?=?e.target.dataset.src?
?
??wx.previewImage({?
?
???current:?current,?
???urls:?this.data.imageList?
??})?
?}
登錄后復(fù)制

java 后端代碼:

//獲取當(dāng)前日期時間的string類型用于文件名防重復(fù)?
??public?String?dates(){?
?????Date?currentTime?=?new?Date();?
?????SimpleDateFormat?formatter?=?new?SimpleDateFormat("yyyyMMddHHmmss");?
?????String?dateString?=?formatter.format(currentTime);?
?????return?dateString;?
??}?
??@RequestMapping("wx_upload.do")?
??public?void?uploadPicture(HttpServletRequest?request,?HttpServletResponse?response,PrintWriter?writer)?throws?Exception?{?
????System.out.println("進(jìn)入get方法!");?
??//獲取從前臺傳過來得圖片?
????MultipartHttpServletRequest?req?=(MultipartHttpServletRequest)request;?
????MultipartFile?multipartFile?=?req.getFile("file");?
??//獲取圖片的文件類型?
????String?houzhu=multipartFile.getContentType();?
????int?one?=?houzhu.lastIndexOf("/");?
????System.out.println(houzhu.substring((one+1),houzhu.length()));?
????System.out.println(multipartFile.getName());?
??//根據(jù)獲取到的文件類型截取出圖片后綴?
????String?type=houzhu.substring((one+1),houzhu.length());?
????System.out.println(multipartFile.getContentType());?
?
????String?filename;?
??//?request.getRealPath獲取我們項目的根地址在加上我們要保存的地址?
????String?realPath?=?request.getRealPath("/upload/wximg/");?
????try?{?
??????File?dir?=?new?File(realPath);?
??????if?(!dir.exists())?{?
????????dir.mkdir();?
??????}?
??????//獲取到當(dāng)前的日期時間用戶生成文件名防止文件名重復(fù)?
??????String?filedata=this.dates();?
????//生成一個隨機數(shù)來防止文件名重復(fù)?
??????int?x=(int)(Math.random()*1000);?
??????filename="zhongshang"+x+filedata;?
??????System.out.println(x);?
????將文件的地址和生成的文件名拼在一起?
??????File?file?=?new?File(realPath,filename+"."+type);?
??????multipartFile.transferTo(file);?
????//將圖片在項目中的地址和isok狀態(tài)儲存為json格式返回給前臺,由于公司項目中沒有fastjson只能用這個?
??????JSONObject?jsonObject=new?JSONObject();?
??????jsonObject.put("isok",1);?
??????jsonObject.put("dizhi","/upload/wximg/"+filename+"."+type);?
?
??????writer.write(jsonObject.toString());?
????}?catch?(IOException?e)?{?
??????e.printStackTrace();?
????}?catch?(IllegalStateException?e)?{?
??????e.printStackTrace();?
????}?
}
登錄后復(fù)制

來看一下之前在前端js輸出的內(nèi)容:

打開瀏覽器用我們的服務(wù)器的地址加上后臺返回json的dizhi字段去訪問這張圖片

我們可以看到圖片已經(jīng)填入我們的服務(wù)器端里了,然后在打開我們服務(wù)器端項目根地址下面的/upload/wximg

到這里就大功告成了如果是多張圖片上傳可以在js里面根據(jù)要上傳的數(shù)量循環(huán)上傳。愛掏網(wǎng) - it200.com

相信看了本文案例你已經(jīng)掌握了方法,更多精彩請關(guān)注愛掏網(wǎng) - it200.com其它相關(guān)文章!

推薦閱讀:

關(guān)于js的三種使用方式案例詳解(附代碼)

JS加載方式使用匯總

以上就是如何使用微信小程序做出圖片上傳的詳細(xì)內(nèi)容,更多請關(guān)注愛掏網(wǎng) - it200.com其它相關(guān)文章!

聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。
發(fā)表評論
更多 網(wǎng)友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 亚洲小说区图片区另类春色| 国产精品嫩草影院线路| 嗯啊h客厅hh青梅h涨奶| 久久亚洲AV无码精品色午夜麻豆| 久久福利资源网站免费看| 极品人体西西44f大尺度| 国产精品亚洲精品日韩电影| 亚洲成A人片在线观看无码| 8050午夜网| 欧美日韩福利视频| 国产精品大bbwbbwbbw| 亚洲乱色伦图片区小说| 欧美色图在线观看| 旧里番洗濯屋1一2集无删减| 国产在线精品一区二区夜色| 久久亚洲国产成人精品无码区| 西西人体大胆扒开瓣| 扒开双腿疯狂进出爽爽爽动态图| 四虎国产精品免费久久影院| 三级黄色在线免费观看| 禁忌2电影在线观看完整版免费观看| 女律师的堕落高清hd| 亚洲精品无码久久久久久| 69视频在线观看免费| 樱花草视频www| 国产人伦视频在线观看| 中文天堂网在线最新版| 秋霞日韩一区二区三区在线观看| 在线观看国产精品麻豆| 亚洲婷婷在线视频| 麻豆中文字幕在线观看| 我要看免费的毛片| 你懂的视频在线| 7777精品伊人久久久大香线蕉| 最近免费中文字幕4| 国产三级自拍视频| www.日本在线| 欧美成人午夜视频| 国产午夜在线视频| 一看就湿的性行为描写大尺度| 浮力影院欧美三级日本三级|