• 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. DM8168 屏蔽 PCIe

    DM8168新板在没有做PCI接口的情况下,能够把PCI模块凝视,直接尝试: make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm menuconfi ...

  2. vim visual操作备忘

    visual模式下: jkl选中行 "+y 复制选中行

  3. 具体解释C++引用——带你走进引用的世界

     一.介绍引用 首先说引用是什么,大家能够记住,引用就是一个别名,比方小王有个绰号叫小狗.他的妈妈喊小狗回家吃饭.那就是在喊小王回家吃饭. 接下来我们用两行代码来声明一个引用(就拿小王和小狗来说吧 ...

  4. hdu_5154 拓扑

    #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #i ...

  5. BZOJ 3123 主席树 启发式合并

    思路: 主席树 搞树上的k大 x+y-lca(x,y)-fa(lca(x,y)) 按照size小树往大树上插 启发式合并 n*log^2n的 搞定~ //By SiriusRen #include & ...

  6. 页面出现AXURE RP EXTENSION,怎么办?

    (可参考百度经验,地址:https://jingyan.baidu.com/article/54b6b9c0c1cb762d583b4706.html) 本文以强大如斯的谷歌浏览器来说明,怎么查看Ax ...

  7. hive parquet table 配置使用压缩

    创建parquet table : create table mytable(a int,b int) STORED AS PARQUET; 创建带压缩的parquet table: create t ...

  8. CF85E Guard Towers(二分答案+二分图)

    题意 已知 N 座塔的坐标,N≤5000 把它们分成两组,使得同组内的两座塔的曼哈顿距离最大值最小 在此前提下求出有多少种分组方案 mod 109+7 题解 二分答案 mid 曼哈顿距离 >mi ...

  9. [NOIP2009提高组]最优贸易

    题目:洛谷P1073.Vijos P1754.codevs1173. 题目大意:有n点m边的图,边分有向和无向.每个点有一个价格,用这个价格可以买入或卖出一个东西.一个人从1出发,要到n,途中可以买入 ...

  10. Unity WebGL 窗口自适应

    unity 打包好WebGL后,用文本编辑器编辑打包生成的 index.html 文件 在生成的html里面修改代码     <script type="text/javascript ...