【发布时间】:2014-02-02 18:31:01
【问题描述】:
当我尝试使用 jQuery File Upload 上传文件时,所有文件都按计划运行,直到 5 个为止。当我尝试发布 5 个或更多文件时,服务器响应 404 Not Found,但 POSTing 4 个文件到它上传和处理的相同 URL 非常好。可能是什么问题?
我正在运行 nginx、php-fpm 和 laravel。在尝试了上限之后,我什至将 client_max_body_size 设置为 0。
4 个文件的访问日志:
192.168.1.144 - - [14/Jan/2014:10:49:28 -0500] "POST /admin/job/1 HTTP/1.1" 302 449 "http://192.168.1.100:8080/admin/job/1/edit" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36" "-"
5 个文件的访问日志:
192.168.1.144 - - [14/Jan/2014:10:45:01 -0500] "POST /admin/job/1 HTTP/1.1" 404 223 "http://192.168.1.100:8080/admin/job/1/edit" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36" "-"
附件是 chrome 中的控制台图像。
5张图片上传测试
4 图片上传测试
编辑: POST 路由代码:
public function update($id)
{
$input = \Input::except('photos');
$job = \Job::findOrFail($id);
$job->fill($input);
if(Input::hasFile('photos'))
{
$photos = Input::file('photos');
/**
*@var $photos Uploadedfile[]
*/
foreach ($photos as $index => $photo)
{
$fileName = \Str::random(8) .'.'. $photo->getClientOriginalExtension();
$file = $photo->move(public_path() .'/job_images/', $fileName);
$jp = new \Job\Photo(array('image' => $fileName, 'description' => $input['description'][$index]));
$job->photos()->save($jp);
}
}
$job->save();
return Redirect::route('admin.job.show', $id);
}
【问题讨论】:
-
你能把路由重定向到的代码贴出来吗?
-
@Pat 上传,抱歉
-
我建议在 if 之前、foreach 之前和 return 之前使用 die 和 dump 来查看它到底到达哪里但失败了。
-
@Pat 已经尝试过了,问题是它永远不会到达代码。服务器以 404 响应
-
所以它甚至没有进入功能?
标签: php jquery file-upload nginx laravel