我一直在使用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并没有任何区别。有没有人有这方面的经验?
答案 0 :(得分:26)
<强>解决!强>
是的,我收集这是关于整个互联网上的唯一文章(包括Uploadify文档和支持页面),它描述了 .Net MVC应用程序中的上传的奇怪之处
经过大量测试后,我看到了:
如果接受上传文件的脚本(在uploadify初始化代码中指定为'script': '/Album/Manage/'
)没有返回任何内容,则上传的响应事件不会触发 - 我收集错误会停止处理。我的脚本是控制器中的一个操作,其返回类型是字符串。如果出现错误,则将错误作为字符串返回,否则返回任何内容。我所做的就是解决这个问题,如果没有出错而没有任何问题,那就让它回归'OK'。
传递脚本数据(在uploadify中指定初始化为'scriptData': {'album_id':'7'}
)我的做法也导致了错误 - 我还没有弄明白为什么(以及上传的父亲RonnieSan似乎没有看到它有什么问题)所以如果有人知道也许他们可以回复这篇文章
您不得在事件处理程序周围放置单引号,例如onComplete: function(event, queueID, fileObj, response, data) { ... }
希望这会有所帮助 - 如果有人需要.Net MVC实施方面的帮助,请给我留言。
答案 1 :(得分:2)
我也一直在.NET MVC应用程序中使用uploadify。我确切地知道你的意思。我所做的就是修复你的问题是让我的控制器的动作返回一个JSON响应,我可以在onComplete事件上解析它。我遇到事件的唯一问题是如果实际文件丢失(因为我在图像上显示缩略图)是在响应上。
答案 2 :(得分:0)
对于使用Mac的用户,使用HTTP Scoop查看请求,因为Firebug没有显示该请求。有关来自this blog的HTTP Scoop的更多信息。
答案 3 :(得分:-2)