我如何将文件存储到Laravel 5.5文件结构之外的另一个位置

问题描述 投票:0回答:1

我正在使用Laravel 5.5开发应用程序,当前正在使用symlink命令将文件上传到public/storage目录中。

该应用程序托管在我组织的域/网络中的服务器上。

我想做的是将我的文件保存在已经专用于文件存储的另一台服务器上,以减轻应用程序服务器上的流量。

我在其他示例中看到的,在FTPdisks数组中创建了config/filesystems.php配置,但是当执行上传时,我得到了

无法连接到主机:端口21上的xx.xx.xx.xx。

下面是我添加的FTP配置。

'ftp' => [
    'driver' => 'ftp',
    'host' => env('FTP_HOST'),
    'username' => env('FTP_USERNAME'),
    'password' => env('FTP_PASSWORD'),
    'root' => '/file_storage',
    'passive' => false,
    'port' => 21,
],

在我的.env文件中,这是我拥有的

FTP_HOST=10.13.1.66
FTP_USERNAME=agriculture\foo
FTP_PASSWORD=bar

调用FTP数组的控制器中的代码:

$file = $request->nid_file;
$doc = $individual->id . '_NIDScan_' . md5($file->getClientOriginalName()) . '.' . $file->extension();
Storage::disk('ftp')->put($doc, $file);

附加信息:

  • 域名是农业
  • 我尝试在FTP_USERNAME中添加和删除农业\
  • 尝试在\\ IP地址前面添加FTP_HOST
  • 尝试将设置同时设置为真和假都被动
  • 将端口更改为80
  • 服务器操作系统是Windows。

任何帮助将不胜感激。谢谢。

php laravel laravel-5 ftp
1个回答
0
投票

laravel文档可以为您提供帮助。

否则,您可以转到config/filesystems.php并为本地和生产添加您自己的自定义存储路径

return [

    'default' => 'custom',
    'cloud' => 's3',
    'disks' => [

        'local' => [
            'driver' => 'local',
            'root'   => storage_path().'/app',
        ],

        'custom' => [
            'driver' => 'custom',
            'root'   => '../path/to/your/new/storage/folder',
        ],

        's3' => [
            'driver' => 's3',
            'key'    => 'your-key',
            'secret' => 'your-secret',
            'region' => 'your-region',
            'bucket' => 'your-bucket',
        ],

        'rackspace' => [
            'driver'    => 'rackspace',
            'username'  => 'your-username',
            'key'       => 'your-key',
            'container' => 'your-container',
            'endpoint'  => 'https://identity.api.rackspacecloud.com/v2.0/',
            'region'    => 'IAD',
        ],

    ],
];
© www.soinside.com 2019 - 2024. All rights reserved.