生活随笔
收集整理的這篇文章主要介紹了
Dcloud+mui 压缩上传图片到服务器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- chooseImgFromAlbums選擇圖片
- chooseImgFromPictures 拍照
- changeToLocalUrl 轉換成可用的路徑
- uploadpic.compressImg 壓縮圖片
- uploadpic.avatar 上傳圖片到oss服務器
/*** 上傳圖片*/function UPLOADPIC() {//上傳圖片this.avatar = function(compressurl) {bzpcommon.showLoading();//上傳的參數var uploadoptions = {method: "post",timeout: 30,retry: 3,retryInterval: 10,};//創建上傳任務var task = plus.uploader.createUpload(bzpapi.API("FILE_UPLOAD"), uploadoptions, function(t, status) {//關閉loadingbzpcommon.closeWaiting();// 上傳完成if(status == 200) {var body = JSON.parse(t.responseText);if(body.retCode === "SUCCESS") {$.toast("上傳頭像成功");$(".bzp-avatar")[0].src = compressurl;//更新個人信息// get_customer_detail();} else if(body.retCode === "FAIL") {$.toast(body.info.message);} else {$.toast("上傳頭像失敗");}} else {$.toast("上傳頭像失敗");}console.log("----圖片上傳返回值---");console.log(JSON.stringify(t));});task.addFile(compressurl, {key: "file"});task.addData("token", bzpcommon.user.token());task.start();};//壓縮this.compressImg = function(src) {var filename = src.substring(src.lastIndexOf('/') + 1);var opions = {src: src,dst: '_doc/' + filename,overwrite: true,width: '300px', //這里指定了寬度,同樣可以修改format: 'jpg',quality: 90 //圖片質量不再修改,以免失真};var _this = this;//show loadingbzpcommon.showLoading();var successCB = function(evt) {console.log(JSON.stringify(evt));//上傳頭像_this.avatar(evt.target);};var errorCB = function(err) {console.log(JSON.stringify(err));bzpcommon.closeWaiting();$.toast("圖片壓縮失敗");};plus.zip.compressImage(opions, successCB, errorCB);};};var uploadpic = new UPLOADPIC();//轉換為本地路徑function changeToLocalUrl(path) {plus.io.resolveLocalFileSystemURL(path, function(entry) {STATE.uploadPic = entry.toLocalURL();$(".bzp-avatar")[0].src = STATE.uploadPic;console.log(STATE.uploadPic);uploadpic.compressImg(STATE.uploadPic);});}//選擇圖片function chooseImgFromAlbums() {plus.gallery.pick(function(file) {changeToLocalUrl(file);}, function(err) {console.log(JSON.stringify(err));$.toast("選擇圖片失敗");}, {filter: 'image',multiple: false});}//拍照function chooseImgFromPictures() {plus.camera.getCamera().captureImage(function(file) {changeToLocalUrl(file);}, function(err) {console.log(JSON.stringify(err));$.toast("選擇圖片失敗");}, {index: '1',});}
作者:我的昵稱好聽嗎
鏈接:https://www.jianshu.com/p/0a3ffccb2f11
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。
轉載于:https://www.cnblogs.com/wangting888/p/9701323.html
總結
以上是生活随笔為你收集整理的Dcloud+mui 压缩上传图片到服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。