【问题标题】:Can not upload multiple images on Laravel无法在 Laravel 上上传多张图片
【发布时间】:2019-11-13 10:00:13
【问题描述】:

假设我要上传 3 张图片 a.jpeg、b.jpeg 和 c.jpeg

我已成功选择要上传的图片。 将它们发送到控制器并使用 print_f() 检查它们是否真的发送到控制器。他们是。

然后,当我检查了我的 img 文件夹时,只有 c.jpeg 成功上传,而其余的则没有。

这是什么原因?

// AdminController
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Redirect;
use Image;

// Route 
  Route::post('/upload', 'AdminController@store')->name('upload');

// AdminController@store:

    public function store(Request $request){
      if ($request->hasfile('images')) {
        foreach ($request->images as $image) {
          $name = time() . '.' . $image->getClientOriginalExtension();
          print_r($name."<br>"); // to see if they're actually passed.
          Image::make($image)->save(public_path('img/new/'. $name));
        }

      }
      return('done');
    }


    <form action="{{ route('upload') }}" method="post" enctype="multipart/form-data">
      <div class="form-group">
        <label for="exampleInputFile">File input</label>
        <input type="file" name="images[]" id="exampleInputFile" multiple />
      </div>
      {{ csrf_field() }}
      <button type="submit" class="btn btn-default">Submit</button>
    </form>

【问题讨论】:

  • 您能否将 time() 更改为其他内容,例如为此使用随机字符串函数并尝试在此之后存储它。我确定这是导致问题的原因。
  • 伙伴,非常感谢。将其更改为 rand() 并已修复。
  • 不用担心。但 rand 仍然不是解决方案。在某些时候,您必须读取该图像或文件,然后您将永远不知道如何动态捕获该图像,除非您也将 rand 保存到数据库中。因此,请改为使用该产品的增量名称或关联 id 或您为其保存图像的任何 crud 操作。

标签: php laravel image-processing intervention


【解决方案1】:

问题是我使用的是time() 函数,而不是rand() 或任何返回随机值的类似函数。

所以现在的代码应该是这样的:

public function store(Request $request){
  if ($request->hasfile('images')) {
    foreach ($request->images as $image) {
      $name = rand() . '.' . $image->getClientOriginalExtension();
      print_r($name."<br>"); // to see if they're actually passed.
      Image::make($image)->save(public_path('img/new/'. $name));
    }

  }
  return('done');
}

【讨论】:

    猜你喜欢
    • 2015-11-18
    • 1970-01-01
    • 2019-09-05
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    • 2020-03-23
    • 1970-01-01
    • 2017-07-27
    相关资源
    最近更新 更多