使用Uploadify时,onComplete和onCompleteAll事件无法触发

时间:2009-09-09 13:20:44

标签: javascript upload uploadify

我一直在使用uploadify(www.uploadify.com)将图像上传到我的网站,它的工作非常精美,直到你尝试稍微扩展它为止。我试图让它在上传文件后从列表中删除排队的文件。为此,您将初始化uploadify:

            $("#fileUpload").uploadify({
            'uploader': '/scripts/uploadify.swf',
            'cancelImg': '/images/cancel.png',
            'script': '/Album/Manage/',
            'fileDesc': 'Image Files',
            'fileExt': '*.jpg;*.jpeg;*.gif;*.png',
            'multi': true,
            'auto': false,
            'simUploadLimit': 3,
            'scriptData': {'album_id':'7'},
            onComplete: function(event, queueID, fileObj, response, data){
                alert(queueID); 
            }
        });

在上面的示例中,您将alert(queueID)替换为$("#fileUpload").uploadifyCancel(queueID) - 我只是有警报让我知道事件何时触发 - 从未发生过。我使用IE和Firefox并没有任何区别。有没有人有这方面的经验?

4 个答案:

答案 0 :(得分:26)

<强>解决!

是的,我收集这是关于整个互联网上的唯一文章(包括Uploadify文档和支持页面),它描述了 .Net MVC应用程序中的上传的奇怪之处

经过大量测试后,我看到了:

  1. 如果接受上传文件的脚本(在uploadify初始化代码中指定为'script': '/Album/Manage/')没有返回任何内容,则上传的响应事件不会触发 - 我收集错误会停止处理。我的脚本是控制器中的一个操作,其返回类型是字符串。如果出现错误,则将错误作为字符串返回,否则返回任何内容。我所做的就是解决这个问题,如果没有出错而没有任何问题,那就让它回归'OK'。

  2. 传递脚本数据(在uploadify中指定初始化为'scriptData': {'album_id':'7'})我的做法也导致了错误 - 我还没有弄明白为什么(以及上传的父亲RonnieSan似乎没有看到它有什么问题)所以如果有人知道也许他们可以回复这篇文章

  3. 您不得在事件处理程序周围放置单引号,例如onComplete: function(event, queueID, fileObj, response, data) { ... }

  4. 希望这会有所帮助 - 如果有人需要.Net MVC实施方面的帮助,请给我留言。

答案 1 :(得分:2)

我也一直在.NET MVC应用程序中使用uploadify。我确切地知道你的意思。我所做的就是修复你的问题是让我的控制器的动作返回一个JSON响应,我可以在onComplete事件上解析它。我遇到事件的唯一问题是如果实际文件丢失(因为我在图像上显示缩略图)是在响应上。

答案 2 :(得分:0)

对于使用Mac的用户,使用HTTP Scoop查看请求,因为Firebug没有显示该请求。有关来自this blog的HTTP Scoop的更多信息。

答案 3 :(得分:-2)