解决Uploadify上传控件加载导致的GET 404 Not Found问题

!本文可能 超过1年没有更新,今后内容也许不会被维护或者支持,部分内容可能具有时效性,涉及技术细节或者软件使用方面,本人不保证相应的兼容和可操作性。

项目中要用到上传,由于使用了JQuery脚本库,于是就准备找一款JQuery的上传脚本,挑了几款,觉得都还不错,最后从功能和代码体积的前提下决定采用Uploadify(官方主页)。

代码很轻松的就嵌入到页面中去了,看了下官方的几个配置,感觉挺容易上手的,本来以为就这样配置算完成了,但是今天在FireFox下使用FireBug调试页面时发现了诡异的GET请求,请求的是当前页面的根,比如页面是/tickets/create,那么请求的就是/tickets/,恰恰这个路径我没有设置路由,也就是说请求将返回一个HTTP 404 Not Found的错误,经过进一步的跟踪发现了问题和新加入的Uploadify有关,于是我又检索了官方的文档,结果该配置的都配置了,配置信息是没有什么错误,但是这个诡异的GET依然存在。

Uploadify 404 Not Found

求助于万能的Google,结果在《Uploadify v3 bug. Unecessary request when there is no button_image_url set.》找到了解决的办法。

原来问题的症结在于SWFUpload,这个是Uploadify调用供支持Flash上传用的,但是其没有对button_image_url进行判断,导致如果button_image_url为空的话就默认请求了当前根路径,修改的方法也比较简单,加个判断即可:

将下面代码:

this.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url);

修改成如下:

if (this.settings.button_image_url != "") {
    this.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url);
}
若无特别说明,本网站文章均为原创,原则上这些文章不允许转载,但是如果阁下是出于研究学习目的可以转载到阁下的个人博客或者主页,转载遵循创作共同性“署名-非商业性使用-相同方式共享”原则,请转载时注明作者出处谢绝商业性、非署名、采集站、垃圾站或者纯粹为了流量的转载。谢谢合作!

请稍后...

发表评论

电子邮件地址不会被公开。 必填项已用*标注