laravel-5.5 - 使用 storeAs 将文件保存在 Storage 文件夹之外

标签 laravel-5.5

我在 Laravel 中有一个存储文件的 API

$request->file("file$i")->storeAs('categories', $nameFile)

就目前而言,它将数据正确存储在地址中
/var/www/html/apiapp/storage/app/public/categories

但我想将这些文件保存在文件夹中
/var/archives

因为这些文件将被另一个应用程序访问

最佳答案

storeAs的第三个参数告诉文件应该保存在哪个存储磁盘上

$path = $request->photo->storeAs('images', 'filename.jpg', 's3');
因此,在 config/filesystem.php 中创建一个新磁盘并将其指向 /var/archives
'disks' => [

    // ...

    'archive' => [
        'driver' => 'local',
        'root' => '/var/archives',
    ],

    // ...
在代码中:
$request->file("file$i")->storeAs('categories', $nameFile, 'archive')
确保运行网络服务器的用户也有权保存到磁盘上的该文件夹。
另一种选择是共享外部存储,例如 AWS S3。为此的配置遵循相同的想法。
我收到了这个 answer在葡萄牙语的 stackoverflow 上,它运行良好

关于laravel-5.5 - 使用 storeAs 将文件保存在 Storage 文件夹之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48101728/

相关文章:

laravel - 如何在 Laravel 中将工厂关系添加到 faker

php - SQLSTATE[HY000] : General error: 1364 Field 'author_id' doesn't have a default value

php - 如何在应用程序启动前在 Laravel 5.5 中定义一个函数

laravel - MySQL View 不会在 Laravel 5.5 迁移中下降

php - 在浏览器中预览邮件通知

mysql - Eloquent:检索带有垃圾条目的 pluck 集合

php - Laravel echo 回调

php - 比较 Laravel Eloquent Result 并获取日期

php - 动态调用laravel模型

Laravel 5.5 + Vue.js 2.x 项目无法在 npm run dev 上运行