移动端

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();
}

上一篇 下一篇

猜你喜欢

热点阅读