JavaScript教程:详细解析网页图片预览效果(5)

http://www.itjxue.com  2015-08-06 23:08  来源:未知  点击次数: 

remote模式

remote模式会先提交file控件到后台,通过返回图片数据来显示图片。
它跟其他模式最大的区别就是获取数据的部分。

在_remoteData远程数据获取程序中,会调用_setUpload来设置上传文件对象。
如果设置了action,并存在QuickUpload函数,就会进行实例化一个上传文件对象保存到_upload中:

var oThis = this;
this._upload = new QuickUpload(this.file, {
    onReady: function(){
        this.action = oThis.action; this.timeout = oThis.timeout;
        var parameter = this.parameter;
        parameter.ratio = oThis.ratio;
        parameter.width = oThis.maxWidth;
        parameter.height = oThis.maxHeight;
    },
    onFinish: function(iframe){
        try{
            oThis._preview( iframe.contentWindow.document.body.innerHTML );
        }catch(e){ oThis._error("remote error"); }
    },
    onTimeout: function(){ oThis._error("timeout error"); }
});

这里使用的QuickUpload就是简便无刷新文件上传程序
在onReady中设置参数,在onFinish中处理返回数据,onTimeout进行出错处理。
返回的数据可以是图片的地址或对应Data URI数据,然后给_preview处理。
当然针对不同的后台输出,数据处理的方式也不同,可以按照需要修改。

后台最好先根据传递的参数缩小图片,尽量减少返回数据来提高预览速度。

(责任编辑:IT教学网)

更多

推荐Javascript/Ajax文章