【问题标题】:Why the folder has been created everytime I save an image in Laravel?为什么每次我在 Laravel 中保存图像时都会创建文件夹?
【发布时间】:2019-05-30 09:03:10
【问题描述】:

阅读大量文档后,我能够在 Laravel 中保存图像。

但现在我收到一个错误,每次我保存图像时,它都会保存在 为该图像创建的单独文件夹中

因此,如果我保存图像,它会像

一样保存

http://localhost/storage/uploads/phpAC6E.tmp.jpg/gedmQBjYgGecrqiuJol6wQs0BKkkMuCko91opWvi.jpeg

请注意文件夹 phpAC6E.tmp.jpg 是自动创建的。

here 的问题不是我要找的。​​p>

我不知道我哪里出错了我尝试了很多东西,但它不起作用。以下是我的代码 sn-ps :

filesystem.php配置-

'local' => [
            'driver' => 'local',
            'root' => storage_path('app/public/uploads'),
            'url' => env('APP_URL').'/storage/uploads',
            'visibility' => 'private',
        ],

我的控制器功能-

public function save(Request $request){

        $file = $request->file('image');

        $ext = $file->getClientOriginalExtension();
        $path = Storage::disk('local')->put($file->getFilename().'.'. $ext,  $request->file('image'));

        return Storage::url($path);

    }

文件夹已创建,如this

【问题讨论】:

  • laravel 5.4 upload image的可能重复
  • @ZakariaAcharki 我的问题与您提到的不同,我的错误也不同,我使用的是 Storage 门面。帮我解决这个问题。

标签: storage laravel-5.7


【解决方案1】:

为什么不试试这段代码。它工作正常。它通过在域根目录之外创建第一个附件文件夹并将文件保存在其中来保存在公用文件夹中。如果您想保存在公用文件夹中,请更改为:

$file->move(public_path('attachments'), $name);

if($request->hasfile('filename'))
{
   $file=$request->file('filename');

   $name=$file->getClientOriginalName();
   $file->move(public_path().'/attachments', $name);
   DB::table('tblname')->insert([
   'filename' => $name,
 ]);

}

【讨论】:

  • 也许这段代码会起作用,但我会按照文档中的内容进行操作。因此,如果您能告诉我我在代码中出现的错误,我将不胜感激。
猜你喜欢
  • 2021-12-26
  • 2020-09-22
  • 1970-01-01
  • 2018-08-04
  • 1970-01-01
  • 1970-01-01
  • 2016-07-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多