问题标签 [laravel-medialibrary]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
laravel - 无法声明类 Spatie\MediaLibrary\UrlGenerator\GcsUrlGenerator,因为该名称已在使用中
我在使用 Spatie 媒体库时遇到问题。我创建了我的类以使用不同的文件系统(特别是 Google 存储桶)。一切顺利,我可以正确集成文件系统,通过自定义 url 保存和查看。我创建了我的类,并将其文档中描述的“Spatie”描述为命名空间namespace Spatie\MediaLibrary\UrlGenerator;
。但是,当我运行“artisan config: cache”命令时,我得到了上面提到的错误。
这是我扩展 BaseUrlGenerator 的自定义类代码:
这是我在已发布的媒体库供应商中包含的内容
我在这里缺少什么?
谢谢你帮助我
php - 使用 Spatie\MediaLibrary 上传文件时 Laravel 包错误
我只是尝试使用 Spatie\MediaLibrary 包将图像上传到服务器。然后 laravel 给出了这个找不到函数的错误。我尝试了所有没有人工作的解决方案
这是我正在使用的代码
这是我的模型
php - 使用 spatie/media-library,如何重命名上传文件的集合?
我想重命名上传文件的集合,但是当我使用时,addAllMediaFromRequest()
我无法从文件中检索信息。
在这个例子中;我需要知道文件扩展名才能重命名文件。
laravel - laravel spatie/media library 使用 cloudfront 提供来自 s3 的图像
我尝试将 spatie 媒体库与 S3 和 cloudfront 集成。但我无法通过 cloudfront cdn 获取图像。
基本上我所做的是将 设置AWS_URL
为 Cloudfront url,但是当我检查图像 url 时,它的 url 中没有 cloudfront,而是 s3 和区域。
是因为我做错了什么还是因为这个包不支持这个cdn?
php - Spatie 媒体库上传总是导致“请求在名为 [...] 的键中没有文件”
我已经完全按照他们的文档中的描述安装了 Spatie 媒体库。但是,每次我尝试保存媒体文件时addMediaFromRequest('keyName')
都会收到此错误:
当前请求在名为的键中没有文件
keyName
每一个安装和入门指南,比如Laravel-News.com上的这个,都在告诉我把它放在我的控制器中:
这也是我所做的。尽管如此,我仍然得到这个“......请求没有文件......”错误......这真的让我很恼火。我完全按照安装指南进行操作,但它不起作用。
这是我的模型、控制器和视图在注册过程中的样子:
用户.php:
RegisterController.php(注意我的 // 评论):
register.blade.php:
对于我想提供上传头像的其他控制器也是如此。例如,我的 UserController 会导致同样的问题。
用户控制器.php
但是,如果我转储$request->avatar
它不是空的!我明白了:
laravel - 单元测试 Spatie laravel-medialibrary 文件上传
我无法让单元测试用于文件上传,并使用 Spatie 的medialibrary存储文件。
该代码在浏览器中运行良好:文件正确保存。
但是,此单元测试失败:
它失败了,因为 mime 类型为空:
...并且我要求此集合中的文件为 PDF:
但是这个空的 mimeType 只是单元测试的问题——它不是浏览器的问题。
有谁知道为什么在size: 0, mime: inode/x-empty
registerMediaCollections() 评估时文件属性可能是?
谢谢!
laravel - 使用 Spate 媒体库时出错:“BadMethodCallException 调用未定义的方法 Illuminate\Foundation\Auth\User::addMediaFromRequest()”
这是我的用户模型
这是我的用户控制器
我想使用Spatie媒体库并为每个用户上传一张照片,但我收到与Spatie库相关的错误:
“调用未定义的方法 Illuminate\Foundation\Auth\User::addMediaFromRequest()”。
我已经阅读了一些相关的帖子,但我不明白如何解决这个问题。谢谢你。
php - Spatie Medialibrary 自定义自定义目录作为前缀
我正在使用spatie/laravel-medialibrary:8.0
.
当我上传文件时,它被保存在storage/public
目录中。
我认为1, 2...
是文件的ID。
有没有办法根据用户放置不同的前缀目录?
例如,我想这样放。
我搜索了它,但找不到确切的答案,
谁能帮我?
谢谢
php - spatie/laravel-medialibrary 更改主键
我正在使用包spatie/laravel-medialibrary并且我想更改名为 Media 的模态上的 primaryKey,而无需编辑包 src 文件。
在我的项目中,我使用 uuids 作为我所有模型的主键,所以很自然地,我想对这个包提供的 Media.php 模型做同样的事情。
$table->bigInteger('id')
我已经通过删除该行并将该行更改为$table->uuid('uuid')->nullable();
来更改迁移以反映这一点table->uuid('uuid')->unique()->primary();
但是,现在我也想让模型知道我正在使用不同的密钥,通过设置protected $primaryKey = 'uuid';
,protected $keyType = 'string';
但我找不到在 Media.php 模型的包 src 文件之外执行此操作的方法
基本上,我最终要做的只是实现 HasMedia 接口并在我的 Profile 模型上使用 InteractsWithMedia 特征,如下所示:
关于如何实现这一目标的任何建议?
谢谢。
php - 文件`{$path}`在laravel中不存在错误
你能帮我解决这个错误吗,我两天后就陷入了这个错误。我在 laravel 中工作了多张图片上传。但是每当我上传图片时,它都会显示在错误消息下方。
Spatie\MediaLibrary\Exceptions\FileCannotBeAdded\FileDoesNotExist 文件 D:\xampp\htdocs\abc\storage\prop_images/5f211fbd7fa1a_p1.jpg 不存在
我已经使用了一些解决方案,例如清除缓存、配置、php artisan storage:link....也更改了存储路径。下面是我在控制器中的图像上传代码。我使用 dropzone 媒体库上传图像。
先感谢您... :)