2013-07-23 89 views
0

我正在使用Dojo 1.8。我已經定義了一個在Firefox,Chrome和Safari中支持多個附件的上傳器,但是當我在IE9中提交表單時,會發出多個POST請求,而不僅僅是一個。多文件Flash上​​傳器

下面是我的代碼的粗略大綱。我加載Flash插件,因此上傳器將在IE中運行(IFrame和HTML5插件不起作用)。任何理由爲什麼這除了IE簡單地自己的行爲與其他瀏覽器有很大的不同?

define([ 
    'dojox/form/Uploader', 
    'dojox/form/uploader/FileList', 
    'dojox/form/uploader/plugins/Flash' 
], function(Uploader, FileList) { 

... 

    this.u = new dojox.form.Uploader({ 
     label: "Browse...", 
     multiple: true, 
     uploadOnSelect: false, 
     url: 'uploadServlet' 
    }); 

    this.list = new FileList({ 
     uploader: u 
    }); 

... 

    this.u.startup(); 
    this.list.startup(); 

}); 
+0

哪個「Flash uploader」你準確使用? Flash是否真的被用於上傳? – EricLaw

+0

按照[文檔](http://dojotoolkit.org/),我正在使用'dojox.form.Uploader'並整合Flash插件(參見AMD:'dojox/form/uploader/plugins/Flash')文檔/教程/ 1.8 /上傳/)。我還沒有強制使用Flash,因爲我希望其他瀏覽器使用默認加載的HTML5插件。導入Flash插件只能強制IE使用Flash。 – Bucket

回答

0

與Flash插件上載摔跤後,我得出以下(失望)結果:

  • IE不包含多個附件的發揮很好。我用has("ie")嗅探了用戶代理,並且處理IE的附件上傳與其他瀏覽器不同。在此之後,我憤怒地在IE瀏覽器中握拳,並詛咒其家人。
  • 除非我在上傳器上設置了force="flash",否則所有其他瀏覽器都將使用HTML5插件,這非常棒。
  • IFrame插件是IE的禁用版本。更多的詛咒和憤怒的拳頭震動。

這整個是一個令人失望的一點點,因爲道場應該讓所有的主流瀏覽器(其中IE仍然包括,不幸)的跨平臺支持,但DojoX中束仍然是一個有點兒車。希望這個功能在2.0中會有所改進。

0

這就是Flash插件的默認行爲。除非您強制使用Flash,否則支持多個=「true」的HTML5文件輸入的所有其他瀏覽器都會使用HTML5插件。

1

道場1.9.1,所述Flash插件顯示以下警告消息:

dojox.form.uploader.plugins.Flash已被移除。您可以直接使用Uploader,它將包含所有必要的功能。

所以,我想你不需要加載任何插件,上傳器會爲你做。

+0

哎呀,我忘了提及我在Dojo 1.8(現在已更正)。不過很高興知道 - 無論如何,我可能會在不久的將來升至1.9。 +1。 – Bucket