将文件存储在存储文件夹之外

时间:2020-11-03 08:40:41

标签: php laravel

我正在从邮递员在laravel中通过rest api上传文件,但是当我上传任何文件时,它会上传到存储文件夹中,但是我想更改路径。在这里,我尝试在控制器中进行类似的操作

if ($files = $request->file('profile_image')) {
         
                    $file = request()->file('profile_image');
$file->store('assets/uploads', ['disk' => 'my_files']);
 
            //store your file into database
            $document = new UploadImageModel();
            $document->profile_image = $file;
            $document->users_id = $request->users_id;
            $document->save();
              
            return response()->json([
                "success" => true,
                "message" => "File successfully uploaded",
                "file" => $file
            ]);
  
        }

config /文件系统

 'my_files' => [
        'driver' => 'local',
        'root'   => public_path() . '/myfiles',
    ],

2 个答案:

答案 0 :(得分:0)

您需要这样配置

filesystems.php

'my_files' => [
    'driver' => 'local',
    'root' => public_path('myfiles'),
    'url' => env('APP_URL') . '/myfiles',
    'visibility' => 'public',
],

然后您可以通过以下方式存储文件

$file = \Storage::disk('my_files')->put('assets/uploads',request()->profile_image)

并获取您喜欢的图片的网址

\Storage::disk("my_files")->url($file) // here $file is coming from database

答案 1 :(得分:0)

尝试一下:

$path = $request->file('profile_image')->store(
    'assets/uploads/', 'my_files'
);