簡體   English   中英

Laravel如何上傳多張圖片

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM