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
请给我一个在 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)
提前致谢
我正在尝试使用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
我使用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中创建了我无法在我的机器上找到的文件夹.
任何帮助都会得到满足.
提前致谢.
我必须使用 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) 在 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) 我能够获取 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
laravel ×5
amazon-s3 ×4
laravel-5.5 ×3
php ×3
laravel-5 ×2
ftp ×1
laravel-5.4 ×1
laravel-5.8 ×1
laravel-8 ×1
quasar ×1