问题标签 [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.

0 投票
1 回答
498 浏览

laravel - 无法声明类 Spatie\MediaLibrary\UrlGenerator\GcsUrlGenerator,因为该名称已在使用中

我在使用 Spatie 媒体库时遇到问题。我创建了我的类以使用不同的文件系统(特别是 Google 存储桶)。一切顺利,我可以正确集成文件系统,通过自定义 url 保存和查看。我创建了我的类,并将其文档中描述的“Spatie”描述为命名空间namespace Spatie\MediaLibrary\UrlGenerator; 。但是,当我运行“artisan config: cache”命令时,我得到了上面提到的错误。

这是我扩展 BaseUrlGenerator 的自定义类代码:

这是我在已发布的媒体库供应商中包含的内容

我在这里缺少什么?

谢谢你帮助我

0 投票
2 回答
1195 浏览

php - 使用 Spatie\MediaLibrary 上传文件时 Laravel 包错误

我只是尝试使用 Spatie\MediaLibrary 包将图像上传到服务器。然后 laravel 给出了这个找不到函数的错误。我尝试了所有没有人工作的解决方案

这是我正在使用的代码

请点击这里查看错误信息

这是我的模型

0 投票
0 回答
586 浏览

php - 使用 spatie/media-library,如何重命名上传文件的集合?

我想重命名上传文件的集合,但是当我使用时,addAllMediaFromRequest()我无法从文件中检索信息。

在这个例子中;我需要知道文件扩展名才能重命名文件。

0 投票
1 回答
902 浏览

laravel - laravel spatie/media library 使用 cloudfront 提供来自 s3 的图像

我尝试将 spatie 媒体库与 S3 和 cloudfront 集成。但我无法通过 cloudfront cdn 获取图像。

基本上我所做的是将 设置AWS_URL为 Cloudfront url,但是当我检查图像 url 时,它的 url 中没有 cloudfront,而是 s3 和区域。

是因为我做错了什么还是因为这个包不支持这个cdn?

0 投票
1 回答
934 浏览

php - Spatie 媒体库上传总是导致“请求在名为 [...] 的键中没有文件”

我已经完全按照他们的文档中的描述安装了 Spatie 媒体库。但是,每次我尝试保存媒体文件时addMediaFromRequest('keyName')都会收到此错误:

当前请求在名为的键中没有文件keyName

每一个安装和入门指南,比如Laravel-News.com上的这个,都在告诉我把它放在我的控制器中:

这也是我所做的。尽管如此,我仍然得到这个“......请求没有文件......”错误......这真的让我很恼火。我完全按照安装指南进行操作,但它不起作用。

这是我的模型、控制器和视图在注册过程中的样子:

用户.php:

RegisterController.php(注意我的 // 评论):

register.blade.php:

对于我想提供上传头像的其他控制器也是如此。例如,我的 UserController 会导致同样的问题。

用户控制器.php

但是,如果我转储$request->avatar它不是空的!我明白了:

0 投票
1 回答
1096 浏览

laravel - 单元测试 Spatie laravel-medialibrary 文件上传

我无法让单元测试用于文件上传,并使用 Spatie 的medialibrary存储文件。

该代码在浏览器中运行良好:文件正确保存。

但是,此单元测试失败:

它失败了,因为 mime 类型为空:

...并且我要求此集合中的文件为 PDF:

但是这个空的 mimeType 只是单元测试的问题——它不是浏览器的问题。

有谁知道为什么在size: 0, mime: inode/x-emptyregisterMediaCollections() 评估时文件属性可能是?

谢谢!

0 投票
1 回答
2254 浏览

laravel - 使用 Spate 媒体库时出错:“BadMethodCallException 调用未定义的方法 Illuminate\Foundation\Auth\User::addMediaFromRequest()”

这是我的用户模型

这是我的用户控制器

我想使用Spatie媒体库并为每个用户上传一张照片,但我收到与Spatie库相关的错误:

“调用未定义的方法 Illuminate\Foundation\Auth\User::addMediaFromRequest()”。

我已经阅读了一些相关的帖子,但我不明白如何解决这个问题。谢谢你。

0 投票
1 回答
2060 浏览

php - Spatie Medialibrary 自定义自定义目录作为前缀

我正在使用spatie/laravel-medialibrary:8.0.

当我上传文件时,它被保存在storage/public目录中。

我认为1, 2...是文件的ID。

有没有办法根据用户放置不同的前缀目录?

例如,我想这样放。

我搜索了它,但找不到确切的答案,

谁能帮我?

谢谢

0 投票
1 回答
1459 浏览

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 特征,如下所示:

关于如何实现这一目标的任何建议?

谢谢。

0 投票
1 回答
1767 浏览

php - 文件`{$path}`在laravel中不存在错误

你能帮我解决这个错误吗,我两天后就陷入了这个错误。我在 laravel 中工作了多张图片上传。但是每当我上传图片时,它都会显示在错误消息下方。

Spatie\MediaLibrary\Exceptions\FileCannotBeAdded\FileDoesNotExist 文件 D:\xampp\htdocs\abc\storage\prop_images/5f211fbd7fa1a_p1.jpg 不存在

我已经使用了一些解决方案,例如清除缓存、配置、php artisan storage:link....也更改了存储路径。下面是我在控制器中的图像上传代码。我使用 dropzone 媒体库上传图像。

先感谢您... :)