• 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 压缩上传图片到服务器的更多相关文章

  1. Android 上传图片到服务器 okhttp一

    [目录] (一)上传图片到服务器一 ---------------------------------Android代码 (二)上传图片到服务器二--------------------------- ...

  2. 通过android 客户端上传图片到服务器

    昨天,(在我的上一篇博客中)写了通过浏览器上传图片到服务器(php),今天将这个功能付诸实践.(还完善了服务端的代码) 不试不知道,原来通过android 向服务端发送图片还真是挺麻烦的一件事. 上传 ...

  3. Wcf for wp8 上传图片到服务器,将图片名字插入数据库字段(五)

    环境:.NET Framework 3.5 服务: IIS EXpress托管 WCF服务程序 配置:Web.config <!--<connectionStrings> <a ...

  4. .NET开发微信小程序-上传图片到服务器

    1.上传图片分为几种: a:上传图片到本地(永久保存) b:上传图片到本地(临时保存) c:上传图片到服务器 a和b在小程序的api文档里面有.直接说C:上传图片到服务器 前端代码: /* 上传图片到 ...

  5. Android 上传图片到服务器二--------调用相机7.0以上权限问题

    [目录] (一)上传图片到服务器一 ---------------------------------Android代码 (二)上传图片到服务器二--------------------------- ...

  6. java后台中处理图片辅助类汇总(上传图片到服务器,从服务器下载图片保存到本地,缩放图片,copy图片,往图片添加水印图片或者文字,生成二维码,删除图片等)

    最近工作中处理小程序宝箱活动,需要java画海报,所以把这块都快百度遍了,记录一下处理的方法,百度博客上面也有不少坑! 获取本地图片路径: String bgPath = Thread.current ...

  7. iOS开发通过AFNetworking上传图片到服务器

    iOS开发通过AFNetworking上传图片到服务器 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager. ...

  8. c#批量上传图片到服务器示例分享

    这篇文章主要介绍了c#批量上传图片到服务器示例,服务器端需要设置图片存储的虚拟目录,需要的朋友可以参考下 /// <summary> /// 批量上传图片 /// </summary ...

  9. java input 实现调用手机相机和本地照片上传图片到服务器然后压缩

    在微信公众号里面需要上传头像,时间比较紧,调用学习jssdk并使用 来不及  就用了input 使用input:file标签, 去调用系统默认相机,摄像,录音功能,其实是有个capture属性,直接说 ...

随机推荐

  1. C语言中static的使用

    在开发过程中.我们常常会须要定义一些static类型的变量或者函数.我们接下来来详细聊一下static: 1.修饰变量 当static来修饰一个变量时,就注定了这个变量的可见范围和生命周期: (1)当 ...

  2. ES cross cluster search跨集群查询

    ES 5.3以后出的新功能.测试demo如下: 下载ES 5.5版本,然后分别本机创建2个实例,配置如下: cluster.name: xx1 network.host: 127.0.0.1 http ...

  3. storm集群安装配置

    1.上传解压 2.进入到storm的conf目录 接上图 启动三台节点的zookeeper集群 启动和查看 Storm 在 nimbus.host 所属的机器上启动 nimbus 服务和 logvi ...

  4. dom4j组装xml 以及解析xml

    dom4j组装xml 以及解析xml: 1.下载dom4j的jar包,地址:https://dom4j.github.io/ 2.java代码: package test; import java.i ...

  5. Webfont 的兼容性问题[持续更新]

    低版安卓手机的 webview 显示不了,另外黑莓手机显示出来是这样: 生成工具: 离线字体生成工具:webfont 在线字体生成平台:icomoon.io, iconfont.cn均有问题 其他一些 ...

  6. 把asp:CheckBoxList 变成单选框

    单选框代码 <asp:CheckBoxList runat="server" RepeatDirection="Horizontal" ID=" ...

  7. <Sicily>Polynomial

    一.题目描述 Given a polynomial and the value of the variable x, you task is to calculate the value of the ...

  8. Kubernetes1.5 集成dashboard

    Kubernetes1.5 集成dashboard 配置kubernetes的dashboard相对简单.同样的,只需要从源码中获取到dashboard-controller.yaml及dashboa ...

  9. Ubuntu上使用过的命令,Linux常用命令,mount 硬盘挂载, ls 列表list命令,cp 复制copy命令,mkdir 创建文件夹 ,nano 编辑器,cat 文档合并,chmod 文件权限,ssh win10连接ubuntu服务器的步骤

    man 帮助 > man ls # ubuntu的帮助 tar.gz 压缩解压 > tar -zcvf yzn.tar.gz /home/yzn # 压缩 > tar -zxvf y ...

  10. XWIKI的搭建

    原文地址:https://my.oschina.net/gywbest/blog/780569 一 应用背景描述 在平时的运维工作中,把常规工作进行文档整理非常重要,无论是平时工作处理或是工作交接,实 ...