我尝试使用dropzonejs库上传图片。我已经按照dropzone上的文档进行了操作,但是我收到了内部服务器错误。
HTML:
<form action="http://localhost/visitingcy/public/management/create-thing"
class="dropzone"
id="my-awesome-dropzone">
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
</form>
Laravel php代码:
if ($request->hasFile('file')) {
$getImages = $request->input('file');
$count = 0;
$images = array();
foreach ($getImages as $img) {
$imageURL = str_slug($newThing->title) . '.' . $img->getClientOriginalExtension();
$checkForDuplicate = DB::table('things_images')->where('url', '=', $imageURL)->get();
while (!empty($checkForDuplicate)) {
$imageURL = str_slug($newThing->title) . $count . '.' . $img->getClientOriginalExtension();
$checkForDuplicate = DB::table('things_images')->where('url', '=', $imageURL)->get();
$count++;
}
$images[] = ThingImage::create(['url' => $imageURL]);
//save file to public directory
$img->move(base_path() . '/public/img/thing/gallery/', $imageURL);
}
return $images;
} else {
dd('there isnt file');
}
答案 0 :(得分:1)
我发现了问题。我曾经使用过foreach但是dropzone单独上传每个文件,所以它不需要。来自控制台的500错误是因为我的控制器中有另一个功能有问题。