【remote模式】
remote模式會先提交file控件到后臺,通過返回圖片數(shù)據(jù)來顯示圖片。 它跟其他模式最大的區(qū)別就是獲取數(shù)據(jù)的部分。
在_remoteData遠(yuǎn)程數(shù)據(jù)獲取程序中,會調(diào)用_setUpload來設(shè)置上傳文件對象。 如果設(shè)置了action,并存在QuickUpload函數(shù),就會進行實例化一個上傳文件對象保存到_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中設(shè)置參數(shù),在onFinish中處理返回數(shù)據(jù),onTimeout進行出錯處理。 返回的數(shù)據(jù)可以是圖片的地址或?qū)?yīng)Data URI數(shù)據(jù),然后給_preview處理。 當(dāng)然針對不同的后臺輸出,數(shù)據(jù)處理的方式也不同,可以按照需要修改。
后臺最好先根據(jù)傳遞的參數(shù)縮小圖片,盡量減少返回數(shù)據(jù)來提高預(yù)覽速度。
出處:藍色理想
責(zé)任編輯:bluehearts
上一頁 JavaScript 圖片預(yù)覽效果 [4] 下一頁 JavaScript 圖片預(yù)覽效果 [6]
◎進入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。
|