plus.camera拍照上传,HML5+上传文件
2023-07-20 本文已影响0人
可乐_加冰_
// 拍照
function captureImage(){
let trailId = produceUuid();
let trail_sign_file_uuid = produceUuid();//图片上传时uuid
localStorage.setItem('trail_sign_file_uuid',trail_sign_file_uuid)
localStorage.setItem('trailId',trailId)
let cmr = plus.camera.getCamera();
let res = cmr.supportedImageResolutions[0];
let fmt = cmr.supportedImageFormats[0];
console.log("Resolution: "+res+", Format: "+fmt,'trailId',trailId,'---->>trail_sign_file_uuid',trail_sign_file_uuid);
cmr.captureImage( function( e ){
console.log( "Capture image success: " + e );
// uploadImg(e);
plus.io.resolveLocalFileSystemURL(e, function(entry) {
let path = entry.toLocalURL();
console.log("拍照文件路劲:" + path);
uploadImg(path);
}, function(e) {
console.log("读取拍照文件错误:" + e.message);
});
},
function( error ) {
console.log( "Capture image failed: " + error.message );
},
{resolution:res,format:fmt}
);
}
//上传
function uploadImg(path) {
let server = config.hostApi+ '/he/system/web/common/file/toLocaUpload.do';
let wt=plus.nativeUI.showWaiting('图片上传中...');
let task=plus.uploader.createUpload(server,
{
method:"POST",
},
function(t,status){ //上传完成
if(status==200){
let data=JSON.parse(t.responseText);
console.log(data.data);
console.log("上传成功:"+t.responseText);
wt.close(); //关闭等待提示按钮
}else{
console.log("上传失败:"+status,'t-->>', JSON.stringify(t));
wt.close();//关闭等待提示按钮
}
}
);
//添加其他参数
task.addFile(path,{key:"file"});//文件路径 //file:///storage/emulated/0/Android/data/io.dcloud...../doc/camera/xxx.jpg
task.setRequestHeader("content-Type",'multipart/form-data');
task.setRequestHeader("X-He-Token",localStorage.getItem('token'));
task.addData( "requestType", "app" );
task.addData( "fileTypeCode", "POLLING_TRAIL_IMG" );
task.addData( "fileObjId", localStorage.getItem('trail_sign_file_uuid'));
task.start();
}