nick_sh
nick_sh
  • 发布:2017-03-15 10:58
  • 更新:2017-03-19 05:48
  • 阅读:1530

使用真机调试图片压缩上传正常打包安装后上传失败

分类:HTML5+

问题如题,代码如下

var fileEntry = '拍照图片,转换为 FileEntry 对象';  
var wt = plus.nativeUI.showWaiting('正在上传,请稍后...');  
var _UPLOAD_ = '你的上传地址';  

var task=plus.uploader.createUpload(_UPLOAD_,  
    {  
        method:"POST",  
        timeout: 60, // 60秒过期  
        retry: 0  
    },  
    function(upload ,status){   
        //上传完成  
        if(status==200){  
            wt.close();  
            plus.nativeUI.toast("上传成功!");  
            //var dataObj= JSON.parse(upload.responseText);  
            //var html = "<input type='hidden' name='photo[]' value='"+dataObj.filename+"' />";           
            //$('.plug_uploader_form').append(html);  
        }  
        else{  
            wt.close();  
            plus.nativeUI.toast("上传失败:"+status);              
        }  
        plus.uploader.clear(upload.state);  
    });  
// 监听上传任务状态  
function onStateChanged( upload, status ) {  

    if ( upload.state == 4 && status == 200 ) {  
        plus.nativeUI.toast( "上传成功!" );  
        console.log( JSON.stringify(upload) );  
        wt.close();  
        // 上传完成  
    }else {  
        plus.nativeUI.toast( '已上传' + upload.uploadedSize + 'KB/' + upload.totalSize + 'KB');  
        console.log( JSON.stringify(upload) );  
    }  
}  
task.addData("uid",getUid());  

plus.zip.compressImage({  
            src:fileEntry.toLocalURL(),  
            dst:'_www/' + fileEntry.name,  
            overwrite: true,  
            quality:30,  
            width:"30%"  
        },  
        //压缩成功  
        function( event ) {           
            var filePath = event.target; // 压缩转换后的图片url路径,以"file://"开头            
            task.addFile(filePath ,{key: 'file'});  
            task.addEventListener( "statechanged", onStateChanged, false );  
            task.start();  
        },  
        //压缩失败  
        function(error) {  
            var filePath = fileEntry.toLocalURL(); // 原图地址         
            task.addFile(filePath ,{key: 'file'});  
            task.addEventListener( "statechanged", onStateChanged, false );  
            task.start();  
        });

这段代码在Hbuilder使用真机调试时,运行OK,但是打包后上传时一直loading

请问有谁遇到这种问题,怎么解决的!??求大牛解惑

2017-03-15 10:58 负责人:无 分享
已邀请:
小资电脑

小资电脑

1 相同的代码 只要是真机调试就正常,重新打包安装后,就出错吗?如果是这样的话,就是打包的问题了,检查下打包的配置。

2.在代码里添加几个alert语句,分段确定运行到哪一步出错的,比如:压缩正常完成没有,上传开始了没,服务器上接收到了没有。

DCloud_heavensoft

DCloud_heavensoft

打包配置时是否选中了所需要的功能模块,比如上传模块、压缩模块。
真机运行时所有的模块都是在调试基座里的,但打包时,打哪个模块是在manifest里配置的。

luddite

luddite

这就是他们的bug,极其不稳定,所以用这个开发app需谨慎!

该问题目前已经被锁定, 无法添加新回复