【问题标题】:Laravel default Storage path changeLaravel 默认存储路径更改
【发布时间】:2020-06-13 14:17:23
【问题描述】:

我想使用 laravel 文件 storeAs 方法将图像保存在主公用文件夹中。有没有办法改变使用这段代码的路径?

$path = $request->img->storeAs('images', 'filename.jpg');

我已经尝试将 filesystems.php 中的新磁盘添加到此

 'my' => [
            'driver' => 'local',
            'root'   => public_path('app'),
            'visibility' => 'public',
        ],

并使用此代码进行存储

Storage::disk('my')->put('filename.jpg', $request->img);

但是使用上面的代码,它会创建新的文件夹名称'filename.jpg'并使用随机名称将图像保存在该文件夹中。但我想将该图像名称保存为“filename.jpg”。

谢谢。

【问题讨论】:

    标签: laravel


    【解决方案1】:

    你可以很容易地做到这一点

    $imageName = $request->file('image_name')->getClientOriginalName();
    $directory = 'your/directory/path/';
    $imageUrl = $directory . $imageName;
    $productImage->move($directory, $imageName);
    

    【讨论】:

      【解决方案2】:

      它不在文档中,但是如果您检查 storeAs 方法实现 (https://github.com/laravel/framework/blob/7.x/src/Illuminate/Http/UploadedFile.php#L80),您会发现可以将一组选项作为第三个参数传递。 disk 键用于设置应使用的女巫。所以你的代码是:

      $path = $request->img->storeAs('images', 'filename.jpg', ['disk' => 'my');
      

      请记住,如果您存储在不存在的路径中,则必须授予父文件夹创建新目录的权限。

      【讨论】:

        猜你喜欢
        • 2016-11-17
        • 1970-01-01
        • 2014-03-05
        • 1970-01-01
        • 1970-01-01
        • 2013-09-03
        • 1970-01-01
        • 2017-04-13
        • 2013-11-04
        相关资源
        最近更新 更多