标签: laravel-filesystem

League\\Flysystem\\AwsS3v3\\AwsS3Adapter::__construct():参数 #1 ($client) 的类型必须为 Aws\\S3Client,给定的 Aws\\S3\\S3Client

Laravel 8我通过在项目中运行以下 Composer 命令安装了 s3 Flysystem 软件包

composer require --with-all-dependencies league/flysystem-aws-s3-v3 "^1.0"
Run Code Online (Sandbox Code Playgroud)

并尝试将请求中的文件存储为

$imageName = $request->file('file')->store('uploads');
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

League\Flysystem\AwsS3v3\AwsS3Adapter::__construct():参数 #1 ($client) 必须是 Aws\S3Client 类型,Aws\S3\S3Client 给定,在 D:\Projects\Rescale\vendor\laravel\framework\ 中调用src\Illuminate\Filesystem\FilesystemManager.php 第 229 行

amazon-s3 amazon-web-services laravel laravel-filesystem laravel-8

4
推荐指数
1
解决办法
8411
查看次数

使用 laravel 将文件存储到 aws s3

请给我一个在 laravel 5.5 中将文件存储到 AWS S3 的示例。我已经使用 AWS 凭证配置了文件系统文件。

我看到了这个功能

Storage::put('file.jpg', $contents);

但不知道第二个参数是什么

filesystem.php文件内容如下

return [


    'default' => env('FILESYSTEM_DRIVER', 'local'),



    'cloud' => env('FILESYSTEM_CLOUD', 's3'),


    'disks' => [

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

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],

        's3' => [
            'driver' => 's3',
            'key' => '*********',
            'secret' => '******',
            'region' => 'my region',
            'bucket' => 'bucketname',
        ],

    ],

];
Run Code Online (Sandbox Code Playgroud)

提前致谢

amazon-s3 laravel laravel-5 laravel-filesystem laravel-5.5

3
推荐指数
1
解决办法
9856
查看次数

Laravel 5.5从本地磁盘读取文件

我正在尝试使用Laravel 5.5从本地文件位置导入一个csv文件。由于某种原因,它在我的计算机上找不到文件,但是路径正确。

$fileLocation = $request->file('file')->store('csv');
$importFile = File::file(storage_path('app/' . $fileLocation));
Run Code Online (Sandbox Code Playgroud)

php laravel-request laravel-filesystem laravel-5.4 laravel-5.5

3
推荐指数
1
解决办法
4407
查看次数

Laravel文件管理器动态base_directory

我使用unisharp的laravel文件管理器.它很有效,我爱它的灵活性.

但是,我需要用户将他们的文件存储在各自的文件夹中.我可以通过改变user_fieldconf文件来做到这一点.我无法做的是让超级管理员访问,以便他可以看到所有其他用户的文件!我差点放弃试图解决这个问题.

这是我到目前为止所尝试的:

在config/lfm.php中

'base_directory'=>Unisharp\Laravelfilemanager\Handlers\ConfigHandler::class`,
Run Code Online (Sandbox Code Playgroud)

在处理程序中:

namespace Unisharp\Laravelfilemanager\Handlers;
class ConfigHandler
{
    public function userField()
    {
        return auth()->user()->name;
    }

    public function baseDirectory(){
        if(auth()->user()->user_type !== "S"){
            return 'storage/'.auth()->user()->name;
        }
        else{
            return 'storage/';
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但上面的代码显示了一个空白页面,它在Abyss中创建了我无法在我的机器上找到的文件夹.

任何帮助都会得到满足.

提前致谢.

php laravel-5 laravel-filesystem

2
推荐指数
1
解决办法
1662
查看次数

Laravel 5:如何将文件从 Amazon S3 复制(流式传输)到 FTP?

我必须使用 Laravel 的文件系统将大型内容(我不想将其从 AWS S3 放入内存中)移动到 FTP。

我知道如何将本地内容流式传输到 S3,但还没有找到从 S3 到 FTP 的解决方案。

我发现的最接近的是this,但我一直坚持根据我的情况调整它。

这是我的代码中缺少的内容(??):

$inputStream = Storage::disk('s3')->getDriver()->??
$destination = Storage::disk('ftp')->getDriver()->??

Storage:disk('ftp')->getDriver()->putStream($destination, $inputStream);
Run Code Online (Sandbox Code Playgroud)

ftp amazon-s3 laravel laravel-filesystem laravel-5.5

1
推荐指数
1
解决办法
2085
查看次数

S3 Laravel Disk 可以指向存储桶中的特定文件夹吗

在 Laravel 文件系统中,您拥有标准 s3 详细信息,如下所示:

's3' => [
    'driver' => 's3',
    'key' => env('AWS_ACCESS_KEY_ID', 'your-key'),
    'secret' => env('AWS_SECRET_ACCESS_KEY', 'your-secret'),
    'region' => env('AWS_DEFAULT_REGION', 'your-region'),
    'bucket' => env('AWS_BUCKET', 'your-bucket'),
    'url' => env('AWS_URL'),
    'endpoint' => env('AWS_ENDPOINT'),
],
Run Code Online (Sandbox Code Playgroud)

我想要建立的是在我的文件系统中列出 2 个磁盘,一个指向我的存储桶上的公共目录,另一个磁盘指向私有位置。

我正在寻找类似的东西:

root_path => '/public'
Run Code Online (Sandbox Code Playgroud)

php amazon-s3 laravel laravel-filesystem

1
推荐指数
1
解决办法
1744
查看次数

当 q-file 工作时,Laravel 的 Quasar q-uploader 无法识别该文件

我能够获取 q 文件来上传单个图像,并且我的 Laravel API 可以完美地处理它。当然,我需要一次上传多个文件,所以我尝试切换到 q-uploader,当我记录响应时,文件显示为 [object File]。

我还尝试在 FileController 中使用 $request->file('attachment') 但它返回 null。

    <q-uploader
      :factory="uploadFactory"
      label="Upload Images/Files"
      color="primary"
      multiple
    />
Run Code Online (Sandbox Code Playgroud)

然后在我的 FileController.php 中:

public function upload(Request $request) {
  \Log::info($request);
}
Run Code Online (Sandbox Code Playgroud)

返回:

array (
  'attachment' => '[object File]',
  'fileable_type' => 'App\\Task',
  'fileable_id' => '27375',
  'vessel_id' => '1',
)
Run Code Online (Sandbox Code Playgroud)

我厂上传:

uploadFactory (file) {
  let data = new FormData()
  data.append('attachment', file)
  data.append('fileable_type', 'App\\Task')
  data.append('fileable_id', this.task.id)
  data.append('vessel_id', this.vessel.id)
  return new Promise((resolve, reject) => {
    this.$axios.post('/api/file/upload', data, { headers: { 'Content-Type': 'multipart/form-data' } …
Run Code Online (Sandbox Code Playgroud)

laravel quasar laravel-filesystem quasar-framework laravel-5.8

0
推荐指数
1
解决办法
2859
查看次数