这个问题有人碰到过嘛,下面是代码,如果有大神知道原因麻烦告知,谢谢
//拍照上传
getImage() {
var that = this;
var c = plus.camera.getCamera();
c.captureImage(function(e) {
plus.io.resolveLocalFileSystemURL(e, function(entry) {
// var imgSrc = entry.toLocalURL() + "?version=" + new Date().getTime(); //拿到图片路径
var imgSrc = entry.toLocalURL(); //拿到图片路径
that.compressImage(imgSrc, entry.name);
}, function(e) {
console.log("读取拍照文件错误:" + e.message);
});
}, function(s) {
console.log("error" + s.message);
}, {
filename: "_doc/camera/"
})
},
//从相册中选择图片
galleryImgsMaximum() {
var that = this;
// 从相册中选择图片
// console.log('从相册中选择多张图片(限定最多选择9张):');
plus.gallery.pick(function(e) {
for (var i in e.files) {
var fileSrc = e.files[i];
var name = fileSrc.substr(fileSrc.lastIndexOf('/') + 1)
that.compressImage(fileSrc, name);
}
},
function(e) {
console.log('取消选择图片');
}, {
filter: 'image',
multiple: true,
maximum: that.limit - that.cur_num,
system: false,
onmaxed: function() {
plus.nativeUI.alert('最多只能选择9张图片');
}
}); // 最多选择9张图片
},
//产生随机数
RndNum(n) {
var rnd = "";
for (var i = 0; i < n; i++)
rnd += Math.floor(Math.random() * 10);
return rnd;
},
//压缩图片
compressImage(url, filename) {
console.log(filename);
var that = this;
// var name = "_doc/upload/" + that.RndNum(5) + "_" + filename; //_doc/upload/1467602809090.jpg
var name = "_doc/zip_" + that.RndNum(5) + "_" + filename; //_doc/upload/1467602809090.jpg
plus.zip.compressImage({
src: url, //src: (String 类型 )压缩转换原始图片的路径
dst: name, //压缩转换目标图片的路径
quality: 20, //quality: (Number 类型 )压缩图片的质量.取值范围为1-100
overwrite: true //overwrite: (Boolean 类型 )覆盖生成新文件
},
function(event) {
// console.log(event.target);
// var path = name; //压缩转换目标图片的路径
//event.target获取压缩转换后的图片url路
//filename图片名称
that.setFile(event.target);
if (that.cur_num < that.limit) {
that.imgList.push(event.target);
//console.log(JSON.stringify(that.imgList));
that.cur_num++;
} else {
return;
};
that.changeShowAddBtn();
},
function(error) {
plus.nativeUI.toast("压缩图片失败,请稍候再试");
});
},
1 个回复
c***@huiyitech.com.cn
大佬问题解决了吗