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属性,直接说 ...
随机推荐
- select多选 multiple的使用
select多选 multiple的使用 <html> <head> <script type="text/javascript"> func ...
- Android Camera+SurfaceView实现自己定义拍照
对Activity强制横屏,保证预览方向正确. 使用OrientationEventListener监听设备方向.推断竖拍时,旋转照片后再保存.保证竖拍时预览图片和保存后的图片方向一致. 执行效果: ...
- List of content management systems
https://en.wikipedia.org/wiki/List_of_content_management_systems Microsoft ASP.NET Name Platform Sup ...
- 4.bind绑定
#include <iostream> #include <string> #include <boost/bind.hpp> #include <boost ...
- XML与Plist文件转换
由于工作需要,要解析xml,举一个简单的例子,例如地址,如果是plist的话我们会很好的解析,但是如果已知一个xml的话,当然用原生的xml解析也能解析的出来,但是解析xml的话会是根据标签的头来解析 ...
- Java导出csv修正时间格式
处理前导出的日期格式为:yyyy-M-d HH:mm 正确的应该是:yyyy-MM-dd HH:mm:ss 处理方案是在 时间数据两边增加 "\t" 有问题欢迎交流. thanks ...
- zabbix2.4.5安装zatree插件
一.关于zatree zatree 是来自国内58公司开发的监控软件zabbix的一个插件,主要功能是提供host group的树形展示和在item里指定关键字查询及数据排序. 项目地址:https: ...
- Dia Diagram Editor(流程图、UML)免费开源绘图软件
近期工作各种繁忙,导致很少分享自己喜欢和常用的一些工具,今天有点时间再次给各位喜欢开源的小伙伴介绍一个好用.免费.开源的软件Dia Diagram Editor. 首先给大家看看这个软件的主界面吧! ...
- unity 天空盒有缝隙的解决方案
修改天空盒图片的属性:advanced->wrap mode->clamp
- python中的future,你见过可以使用未来版本模块的语言吗?
import xxx from yy.xxx import xx from yy.xxx import xx as x python最常见的导包导模块语句 yy为包名,包就是文件夹,模块就是xxx.p ...