我觉得我一定是错过了一些很简单的东西,但我忘记了过去3天里我尝试过的一切……我使用medialibrary pro作为附件上的临时上传功能,直接上传到S3。
首先,我的心声:
.env
MEDIA_DISK="s3-media"config/fileystems.php定义了我的s3磁盘:
's3-media' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
'endpoint' => env('AWS_ENDPOINT'),
'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
'root' => 'media-manager'
],the是由技工生成的股票,您可以在上面看到的磁盘名在我的.env文件中设置:
return [
'temporary_file_upload' => [
'rules' => 'file|mimes:png,jpg,jpeg,gif|max:2048',
'disk' => 's3-media',
],
];我的表单刀片视图包含:
<x-media-library-attachment name="media" rules="mimes:png,jpg,jpeg,gif|max:2048"/>我的控制器有:
$media
->addFromMediaLibraryRequest( $request->get('media') )
->toMediaCollection('user-media', 's3-media');现在发生了什么..。
我将图片拖到表单视图上的附件容器中,它似乎完成了,我看到了图片的缩略图--我刚刚selected.
fopen(/srv/users/username/apps/app-name/storage/media-library/temp/HSutOfGcDuysxkxNRJwMYo42L5RaclTU//file_name.jpg):未能打开流:没有这样的文件或目录
expected.
任何建议和帮助都是非常感谢的!
发布于 2022-02-04 19:41:03
似乎在模型上运行save()会导致各种问题。我回到了https://github.com/spatie/laravel-medialibrary-pro-app的示例代码,并重写了我的查询,以使用create方法而不是insert。当我将$model->save()从等式中取出后,一切都如预期的那样正常工作。最后,我为临时上传创建了一个本地媒体磁盘,然后当我处理上传时,我将它发送到我的S3媒体磁盘。
https://stackoverflow.com/questions/70976347
复制相似问题