【发布时间】:2019-02-07 03:32:13
【问题描述】:
我仍在学习使用 Laravel 5.7 创建用于上传多张图片的 API。当我尝试通过邮递员上传一张图片时,该图片可以存储在数据库中,但是当我尝试上传两张或更多图片时,它不能存储在数据库中。我在邮递员中没有收到错误,但在邮递员重定向到我的登录页面中预览。
这是我的控制器:
$this->validate($request, [
'filename.*' => 'image|mimes:jpeg,png,jpg|max:2048'
]);
if($request->hasfile('filename'))
{
$images=array();
foreach($request->file('filename') as $image)
{
$photo_name = time().'_'.$request->input('fa_transaction_id').'.png';
$destinationPath = public_path('/uploads/workphotos');
$image->move($destinationPath, $photo_name);
$img_url = asset('/uploads/workphotos/'.$photo_name);
$data = new FA_Transaction_photo();
$data->fa_transaction_id = $request->input('fa_transaction_id');
$data->user_id = $request->input('userid');
$data->photo_name = $photo_name;
$data->photo_url = $img_url;
$data->save();
array_push($images,$img_url);
}
有人可以帮助我吗?或者任何人都可以教我如何做到这一点? 谢谢
【问题讨论】:
-
你可以转储
$request->file('filename')以确保它有多个文件。 -
我已经转储了 $request->file('filename'),但它会自动重定向到登录页面
-
你好@RahmatEffendi,你能给我看一下邮递员的屏幕截图吗,你必须发送文件名[]作为键而不是多张图片的文件名。
-
同样你在for循环中返回response,它会在上传第一张图片后返回,所以将return response()->json()放在for循环之外。
-
@RaviGaudani 我更新了我的问题以放置邮递员的屏幕截图,并且我已将 response()->json() 放在 for 循环之外,但我得到了相同的结果,它重定向到我的登录页面跨度>
标签: php laravel laravel-5 php-7