【问题标题】:move 'tmp' directory not working when uploading image in laravel 5.4在 laravel 5.4 中上传图像时移动“tmp”目录不起作用
【发布时间】:2017-06-19 05:31:39
【问题描述】:

上传我的图片时,它会保存到D:\xampp\tmp\phpD0E0.tmp directory。但我想把它保存在public/uploads/banner。任何人请帮助我。这是我的代码:

横幅控制器.php

public function store(Request $request)
{

    $requestData = $request->all();


    if ($request->hasFile('banner_image')) {
        foreach($request['banner_image'] as $file){
            $uploadPath = public_path('/uploads/banner');

            $extension = $file->getClientOriginalExtension();
            $fileName = rand(11111, 99999) . '.' . $extension;

            $file->move($uploadPath, $fileName);
            $requestData['banner_image'] = $fileName;
        }
    }

    Banner::create($requestData);
    Session::flash('flash_message', 'Banner added!');
    return redirect('Banner/banners');
}

【问题讨论】:

  • 1$file->move($uploadPath, $fileName);`这里的$file是什么?
  • $request['banner_image'] as $file
  • @Md.RashedulHasan 您的上传路径是什么: 'root' => public_path() 。 config/filesystems.php 中的“/uploads”路径
  • 'root' => storage_path('app/public')
  • @Jigs Virani 将 'root' => storage_path('app/public') 更改为 'root' => public_path() 。 '/uploads' 但仍然无法正常工作。

标签: php laravel laravel-5.4


【解决方案1】:

您能否将该路径恢复为'root' => storage_path('app/public')

然后尝试换行:

$extension = $file->getClientOriginalExtension();
$fileName = rand(11111, 99999) . '.' . $extension;

用这个:

$fileName = rand(11111, 99999) . '.' .  $file->getClientOriginalName();

希望对你有所帮助。

【讨论】:

  • 我为此做了演示,它使用相同的代码运行良好。请同时检查其他可能性。如果您需要任何帮助,请告诉我,我会立即为您提供帮助。
猜你喜欢
  • 1970-01-01
  • 2012-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-02
  • 2018-01-28
  • 1970-01-01
  • 2018-12-01
相关资源
最近更新 更多