0

I am using Dojo 1.8. I have defined an Uploader that supports multiple attachments in Firefox, Chrome, and Safari, but when I submit the form in IE9, multiple POST requests are made instead of just one.

Below is a rough synopsis of my code. I load the Flash plugin so the Uploader will run in IE (the IFrame and HTML5 plugins do not work). Any reason as to why this behaves so much differently from the other browsers besides IE simply being itself?

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();

});
4

3 回答 3

1

dojo 1.9.1上,Flash插件显示以下警告消息:

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

所以,我猜你不需要加载任何插件,上传器会为你做。

于 2013-08-01T17:08:39.280 回答
0

这是 Flash 插件的默认行为。除非您强制使用 Flash,否则所有其他支持 HTML5 文件输入且带有 multiple="true" 的浏览器都使用 HTML5 插件。

于 2013-07-23T17:48:58.320 回答
0

在与 Uploader 的 Flash 插件搏斗之后,我得到了以下(令人失望的)结果:

  • IE 不能很好地处理多个附件。我用 嗅探了用户代理has("ie"),并以与其他浏览器不同的方式处理 IE 的附件上传。紧接着,我对 IE 愤怒地握了握拳头,诅咒了它的家人。
  • 除非我force="flash"在 Uploader 上设置,否则所有其他浏览器都将使用 HTML5 插件,效果很好。
  • IFrame 插件不适合 IE。更多的诅咒和愤怒的拳头。

这总体上有点令人失望,因为 Dojo 应该为所有主要浏览器启用跨平台支持(不幸的是,IE 仍然包含在其中),但 dojox 捆绑包仍然存在一些问题。希望此功能将在 2.0 中改进。

于 2013-10-01T16:59:43.813 回答