0

您好我有以下问题。我使用jQuery 文件上传插件并想在我的一个网站页面中实现文件上传器。我正在使用UI 版本,所以事情正常,文件已上传,但是当我尝试删除它们时,我的请求出现 404 错误。我正在使用 POST 请求。问题是我收到 404 标头错误,这正在搞砸代码。我的页面以正确的 JSON 数据响应,但标题为 404 我搜索了整个 [上传器类][3],但我找不到标题的设置位置,即使我评论了 404 行

if (!$this->is_valid_file_object($file_name)) { return $this->header('HTTP/1.1 404 Not Found'); }

什么都没有发生,所以我无法理解标头在哪个 javascript 文件或上传处理程序类中出错以及如何解决问题。

所以我的ajax返回如下:

_method:DELETE /my_domaing/some_page/uploadAction/file:action_test_file_3%20%281%29.doc

POST 404 Not Found text/plain jquery.js:8706 脚本 991 B 360 B 20 ms 20 ms

我认为问题来自我的框架,因为在普通的 php 中我可以上传和删除文件。但是当我使用该链接在浏览器中打开页面时,我可以看到 JSON 响应:

{"file":{"name":"action_test_file_3.doc", "size":61440,
"url":"http:\/\/my_domain\/files\/action_test_file_3.doc",
"deleteUrl":"http:\/\/my_domain\/some_page\/uploadAction\/file:action_test_file_3.doc\/
_method:DELETE\/file:action_test_file_3.doc\/_method:DELETE","deleteType":"POST"}}

我不知道我需要什么才能删除文件,但我知道标头信息出错了,因为我可以打开它并查看信息,但 POST 请求看到 404 错误并且什么也不做.

我使用的框架有一个 .htaccess 重写规则,如下所示:

RewriteEngine On
RewriteRule !\.(js|ico|gif|jpg|png|css|swf|htc|txt|doc|docx|xls|xlsx|pdf|htm|html|
bmp|flv|xml|zip|plist|ipa|woff|ttf|svg|eot)|^design(.*)|^sks(.*)$ index.php

但我认为该规则与此上传无关。我的框架使用Smarty。我真的找不到解决上传问题的方法,所以为什么不删除。我对目录有写/删除权限。

我没有收到任何 javascript 错误,并且在我的 php 日志中没有关于此页面的错误。

所以我认为问题出在标题信息上,如果它返回 404,那么文件就没有被删除。但我无法理解这是在哪里以及如何发生的。

因此,请随时问我任何问题,但我无法向您发送现场演示,因为它是开发人员服务器,但我会尽一切努力解决这个问题,因为我已经为此苦苦挣扎了将近 2 天。任何帮助都是并将不胜感激!

4

0 回答 0