我在 Laravel 中有一个存储文件的 API
$request->file("file$i")->storeAs('categories', $nameFile)
Run Code Online (Sandbox Code Playgroud)
就目前而言,它将数据正确存储在地址中
/var/www/html/apiapp/storage/app/public/categories
Run Code Online (Sandbox Code Playgroud)
但我想将这些文件保存在文件夹中
/var/archives
Run Code Online (Sandbox Code Playgroud)
因为这些文件将被另一个应用程序访问
第三个参数storeAs告诉文件应该保存在哪个存储磁盘上
$path = $request->photo->storeAs('images', 'filename.jpg', 's3');
Run Code Online (Sandbox Code Playgroud)
因此,创建一个新的磁盘中config/filesystem.php,并指向/var/archives
'disks' => [
// ...
'archive' => [
'driver' => 'local',
'root' => '/var/archives',
],
// ...
Run Code Online (Sandbox Code Playgroud)
在代码中:
$request->file("file$i")->storeAs('categories', $nameFile, 'archive')
Run Code Online (Sandbox Code Playgroud)
确保运行网络服务器的用户也有权保存到磁盘上的该文件夹。
另一种选择是共享外部存储,例如 AWS S3。为此的配置遵循相同的想法。
我在葡萄牙语的 stackoverflow 上收到了这个答案,它运行良好
| 归档时间: |
|
| 查看次数: |
4443 次 |
| 最近记录: |