[英]How to upload many images in Laravel
我需要上傳很多Laravel中的圖片。 HTML 刀片:
<form action="uploadImages" method="post" enctype="multipart/form-data">
<input type="file" name="image0" id="image">
<input type="file" name="image1" id="image">
@csrf
<input type="submit" value="send">
</form>
和 Laravel Controller:
for ($i = 0; $i < count(collect($request)) - 1; $i++) {
$image = $request->image.$i;
$ext = $image->getClientOriginalExtension();
if ($ext != "jpg" && $ext != "jpeg" && $ext != "png" && $ext != "gif" && $ext != "webp") {
return "no";
}
$imageName = \Str::random(20).".".$image->getClientOriginalExtension();
$image->move(public_path("images"), $imageName);
}
Laravel 返回錯誤:調用字符串上的成員 function getClientOriginalExtension()
這里有什么問題?
澄清:
如果我從循環中獲取代碼並設置 $request->image0 或 1 等而不是 $request->image.$i,則該代碼適用於一個圖像
循環中的 count(collect($request)) 減 1 是因為 $request 的最后一個元素是一個標記。
您必須使用$request->file('image'. $i)
而不是$request->image.$i
來獲取圖像。
您的代碼將UploadedFile
轉換為string
,並將 append $i
轉換為它。
或者您可以輕松地將文件輸入的名稱更改為數組版本,例如:
<input type="file" name="image[]" id="image">
<input type="file" name="image[]" id="image2">
<input type="file" name="image[]" id="image3">
...
<input type="file" name="image[]" id="image1000">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.