天天看點

SWFUpload在JQueryUI的Dialog中無法實作上傳功能

        在最近的項目中需要使用類似Ajax效果實作,那麼我就使用了SWFUpload上傳圖檔了,為了用戶端的安全,我們是無法做到ajax以一種異步偷偷的把檔案從用戶端上傳到伺服器,隻能說做出類似這種ajax的效果,同時來提高使用者的友好性。常見的就是借助flash或者iframe方式來實作這種效果,例如網易郵箱上傳檔案就是利用iframe的方式實作的,我們此處就借用Flash使用SWFUpload來使用這種ajax的效果。

        我要說的重點不是如何用SWFUpload來實作ajax上傳圖檔的效果,而是我在開發中遇到了一個問題,開發中需要做的一個效果就是,在彈出的一個框中點選一個上傳按鈕來選擇檔案進行上傳,為了快速開發,我使用了jqueryUI,可是最後出現了一個奇怪的問題,在JqyeryUI彈出的對話框中的上傳按鈕來實作的上傳圖檔為什麼總是上傳不成功,找了半天的原因,還是不知道,調試也不好進行,最後搞的把SWFUpload的JS檔案也找了半天原因,最後還是無功而返,糾結啊,最後果斷自己寫了一個彈出框,實作了類似的效果。

寫本文的目的,是需要注意:

1)SWFUpload需要在動态網頁(如aspx,php)中使用,發現html中用不了。

2)SWFUpload和JqueryUI的dialog一起用出現了問題,最後自己寫了一個彈出框。

function toOpenUploadImgDialog(cuObj) {
            hx_CurrUpImgObj = cuObj;
            if (hx_isCloseImgObj == "open") {
                toCloseUploadImgDialog();
            }
            hx_isCloseImgObj = "open";
            $("#SWFt1,#SWFt2").show();
            
        }
        function toCloseUploadImgDialog() {
            $("#SWFt1,#SWFt2").hide();
            document.getElementById("txtImgAddress").value = "";
            hx_isCloseImgObj = "close";
        }
    
           

如有遇到同樣問題的同仁們,可以一起讨論。

繼續閱讀