帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
2
帖子
0
勋章
18
Y币

[App引擎] 上传图片功能求助

[复制链接]
发表于 2014-12-11 17:24:34
写上传图片功能,先获取了图片路径,然后用读取文件方法读取,在上传。但是 ,到读取这里就卡死,选择文件要2秒左右返回,然后读取文件要7-10秒。有什么其他方法来搞定图片选择上传么?可以提供一个快捷的例如file框一样功能的API么。谢谢
123123.jpg
2
帖子
0
勋章
18
Y币
(function($) {
        $.widget("mxt.uploadFile",{

                _create:function(){
                        var $self = this.element,self = this;
                        $self.click(function(){
                                api.getPicture({sourceType: 'library',
                            encodingType: 'png',
                            mediaValue: 'pic',
                            destinationType: 'url',
                            allowEdit: true,
                            quality: 50,
                            targetWidth:100,
                            targetHeight:100,
                            saveToPhotoAlbum: false
                                },function(ret,err){
                                        self.options = $.extend(self.options,{files:ret.data});
                                        if(ret){
                                                if(ret.data){
                                                        self._fileUpload();
                                                }
                                        }
                                });
                        });
                },
                _fileUpload:function(){
                        var options = this.options;
                        //开始上传回调事件
                        if(typeof options.onUploadStar == "function"){
                                        options.onUploadStar();
                                }
                if(localStorage.getItem("userlogin")){
                            var user = JSON.parse(localStorage.getItem("user"));
                            options.data.mxauth = user.mxauth;
                    }
                        //上传方法      
                        api.ajax({
                            urlptions.url,
                            method: 'post',
                            cache: false,
                            timeout: 30,
                            dataType: 'json',
                            returnAll:false,
                            report:true,
                            data:{
                                valuesptions.data,//上传数据
                                files: {file: options.files}//文件路径
                            }
                        },function(ret,err){
                            if (ret) {
                                    if(ret.progress){
                                            if(typeof options.uploadProgress == "function"){
                                                options.uploadProgress(ret.progress);
                                        }
                                    }   
                                if(ret.progress == 100){
                                        setTimeout(function(){
                                                if(typeof options.uploadComplete == "function"){
                                                        options.uploadComplete(ret.body);
                                                }
                                        },1000);
                                }
                            }else {
                                    //失败回调方法
                                    if(typeof options.onUploadError == "function"){
                                            options.onUploadError(err.code,err.msg,err);
                                    }
                                
                            };
                        });
                }
        });       
})($);
13
帖子
0
勋章
182
Y币
怎么解决的分享一下吧,我这边一直没解决!
28
帖子
1
勋章
1万+
Y币
你这里是错误的,api.readFile是针对文本文件读的,使用api.getPicture得到选择的图片路径后,调用api.ajax接口上传文件到你服务器
2
帖子
0
勋章
18
Y币
已解决!3Q
2
帖子
0
勋章
18
Y币
getPicture之后 在回调函数里直接用api.ajax上传就行了 他只需要图片地址就好
0
帖子
0
勋章
35
Y币
你好  能把你上传图片到服务器的代码给我参考一下吗?本人小白,最近在纠结这个问题
2
帖子
0
勋章
18
Y币
$("#upload_btn").uploadFile({
                        url.mxt.api+"?do=Element.Set",
                        data:{
                                "pid":base.getPid(),
                                formData:"formData"
                        },
                        method:"post",
                        uploadProgress:function(progress){
                                $("#uploadProgress").show().width(progress+"%").text(progress+"%");

                        },
                        uploadComplete:function(data){
                                $("#uploadProgress").hide().width(0+"%").text(0+"%");
                                if(data.code == 200){
                                        if(data.data.data.display){
                                                api.toast({
                                                    msg: '上传成功'
                                                });
                                                setTimeout(function(){
                                    api.execScript({
                                                name:"root",
                                                            script: "changePage(1)"
                                                        });
                                },1500);
                        }else{
                                api.toast({
                                                    msg: '上传成功'
                                                });
                                                setTimeout(function(){
                                    api.execScript({
                                                name:"root",
                                                            script: "changePage(1)"
                                                        });
                                },1500);
                        }
                      
                                }else{
                                        api.alert({
                                                title:"错误提示",
                                                msg:data.message
                                        })
                                }
                        },
                        onUploadError:function(code,msg,err){
                                api.alert({
                                        title:"错误提示",
                                        msg:msg
                                })
                        }
                });
2
帖子
0
勋章
18
Y币
小白水准,仅供参考。
0
帖子
0
勋章
3
Y币
服务器端如何接受上传的文件,谢谢
12下一页
您需要登录后才可以回帖 登录

本版积分规则