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) {
//关闭loading
bzpcommon.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 loading
bzpcommon.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
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
Dcloud+mui 压缩上传图片到服务器的更多相关文章
- Android 上传图片到服务器 okhttp一
[目录] (一)上传图片到服务器一 ---------------------------------Android代码 (二)上传图片到服务器二--------------------------- ...
- 通过android 客户端上传图片到服务器
昨天,(在我的上一篇博客中)写了通过浏览器上传图片到服务器(php),今天将这个功能付诸实践.(还完善了服务端的代码) 不试不知道,原来通过android 向服务端发送图片还真是挺麻烦的一件事. 上传 ...
- Wcf for wp8 上传图片到服务器,将图片名字插入数据库字段(五)
环境:.NET Framework 3.5 服务: IIS EXpress托管 WCF服务程序 配置:Web.config <!--<connectionStrings> <a ...
- .NET开发微信小程序-上传图片到服务器
1.上传图片分为几种: a:上传图片到本地(永久保存) b:上传图片到本地(临时保存) c:上传图片到服务器 a和b在小程序的api文档里面有.直接说C:上传图片到服务器 前端代码: /* 上传图片到 ...
- Android 上传图片到服务器二--------调用相机7.0以上权限问题
[目录] (一)上传图片到服务器一 ---------------------------------Android代码 (二)上传图片到服务器二--------------------------- ...
- java后台中处理图片辅助类汇总(上传图片到服务器,从服务器下载图片保存到本地,缩放图片,copy图片,往图片添加水印图片或者文字,生成二维码,删除图片等)
最近工作中处理小程序宝箱活动,需要java画海报,所以把这块都快百度遍了,记录一下处理的方法,百度博客上面也有不少坑! 获取本地图片路径: String bgPath = Thread.current ...
- iOS开发通过AFNetworking上传图片到服务器
iOS开发通过AFNetworking上传图片到服务器 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager. ...
- c#批量上传图片到服务器示例分享
这篇文章主要介绍了c#批量上传图片到服务器示例,服务器端需要设置图片存储的虚拟目录,需要的朋友可以参考下 /// <summary> /// 批量上传图片 /// </summary ...
- java input 实现调用手机相机和本地照片上传图片到服务器然后压缩
在微信公众号里面需要上传头像,时间比较紧,调用学习jssdk并使用 来不及 就用了input 使用input:file标签, 去调用系统默认相机,摄像,录音功能,其实是有个capture属性,直接说 ...
随机推荐
- ural 1143. Electric Path(凸包上最短哈密顿路径)
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1143 题意:逆时针给一个凸包的n(n<=200)个顶点坐标,求一个最短哈密顿路径的 ...
- angularjs 工具方法
<!DOCTYPE HTML> <html ng-app> <head> <meta http-equiv="Content-Type" ...
- zzulioj--1824--BOOM(模拟水)
1824: BOOM Time Limit: 1 Sec Memory Limit: 128 MB Submit: 25 Solved: 5 SubmitStatusWeb Board Descr ...
- BZOJ 4269 高斯消元求线性基
思路: 最大: 所有线性基异或一下 次大: 最大的异或一下最小的线性基 搞定~ //By SiriusRen #include <cstdio> #include <algorith ...
- 不同框架实现的todomvc
http://todomvc.com/ http://hao.jobbole.com/
- codeforces 495D Sonya and Matrix
Since Sonya has just learned the basics of matrices, she decided to play with them a little bit. Son ...
- 使用WinNTSetup安装win10时提示efi part有红叉(win10安装UEFI系统安装)
1.装载ImDisk虚拟磁盘 2.格式化硬盘 *格式化时注意”创建新ESP分区 3.使用 WinNTSetup 选择win10安装程序 *1. “BOOTMGR PBR "后有感叹号不用管, ...
- [POI2005]DWU-Double-row(图论?)
题意 2n 个数站成两排(每个数在 2n个数中最多出现两遍),一次操作可以交换任意一列中两个数,求使每行数不重复的最少操作数. (n<=50000) 题解 说实话,我真没想到图论.(我太菜了) ...
- [洛谷P2085]最小函数值
题目大意:有n个函数,分别为F1,F2,...,Fn.定义Fi(x)=Ai*x^2+Bi*x+Ci (x∈N*).给定这些Ai.Bi和Ci,要求出所有函数的所有函数值中最小的m个(如有重复的要输出多个 ...
- [HNOI2006]超级英雄(二分+网络流)
[HNOI2006]超级英雄 题目描述 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的多少获得不同数目的奖品或奖金.主持人问题准备了若干道题目, ...