问题标签 [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 回答
194 浏览

laravel - 防止在 spatie 媒体库中生成过大的媒体

我正在使用 Spatie 媒体库来管理我的 laravel 应用程序中的媒体。问题是即使上传的文件很小,它也会生成超大的图像,从而导致图像像素化。

以上是我的型号代码。假设如果我上传宽度为 700 像素的图像,它还会生成mdlgxl图像。

如何防止大于上传图片宽度的媒体转换?

0 投票
2 回答
596 浏览

laravel-8 - Spatie 媒体库专业版 - 无法解析“@spatie/media-library-pro-vue2”

大家好,我在设置 Spatie Media Library pro 时遇到问题。使用 npm run dev 构建资源时出现以下错误

我正在运行带有 Vue.js (vue2) 脚手架的惯性.js 的 Larvel 8。

这是我的 webpack 配置

这可能是包裹问题吗?是否有人遇到过类似的错误,或者我只是错过了配置中的某些内容?

0 投票
0 回答
276 浏览

php - Laravel Nova:修改内容并删除图像时从磁盘中删除图像

我正在使用 spatie 媒体库来存储我的图像。在前端站点上,我使用带有 Vue js 的 Quill 编辑器,让用户可以选择修改他们的帖子。前端的用户也可以选择上传图片。这些图像在内容中以 base64 格式发送。

在服务器端,我正在检查内容是否包含任何经过 base64 编码的图像。如果是这样,我通过 spatie 媒体库存储它们,并将 base64 图像标记替换为和一个 img 标记,该标记具有图像链接作为源集。这发生在将内容存储到数据库之前。

更新内容的过程相同。我检查在 spatie 媒体库中为 post 模型存储的所有图像是否仍在内容中。如果没有,请删除这些图像。当有新图像时,我会执行与上述相同的过程。如果帖子被删除,图像也将被删除。

在这里,您可以阅读有关如何执行此操作的“教程”。

但是,我不知道在管理员编辑内容时如何执行相同的过程......因为我需要在内容存储之前修改查询,因为 base64 图像对于我的数据库来说太长了。

有谁知道如何做到这一点或有类似的问题?我在考虑观察者。但是我有一个问题,它已经为时已晚。在执行观察者代码时,内容已经存储。这不起作用,因为我的数据库只允许大约 64.000 个字符的文本。我也不想改变!

观察者的第二个问题是我最终会陷入无限循环,因为我需要调用->save()我的模型,这将再次触发观察者......

对此有什么想法吗?基本上我需要在 SQL 查询被执行之前捕获它。

亲切的问候,谢谢!

0 投票
1 回答
93 浏览

laravel - Laravel 路由问题排查

我试图弄清楚为什么我的路线会引发 404 错误而不是提供我的图像。我正在使用 Spatie 媒体库来提供私人图像。

我有以下路线web.php:

当我这样做时: {{ route('images.show', [$gift, $gift->getFirstMedia()->uuid]) }}在我的刀片中,正确生成了 URL。但是,单击该链接会导致 404 错误。

ImageController@show 函数存在,并且目前仅执行此操作,dd('here');因此我确信 Laravel 甚至从未尝试调用该函数。

此外,我的 laravel.log 文件中目前没有任何内容。此 404 错误不会生成日志条目。

谢谢您的帮助!

0 投票
0 回答
4487 浏览

laravel - Laravel Spatie 媒体库 getFullUrl 方法在循环内不起作用

我正在 laravel 中开发 API。当我尝试在给我这个错误的循环中获取上传的图片 url 时,

Spatie\MediaLibrary\Exceptions\UrlCannotBeDetermined:存储路径 myAppPath\storage\app 不是文件 myAppPath\vendor\spatie\laravel-medialibrary\src\Exceptions\UrlCannotBeDetermined.php 中公共路径 myAppPath\public 的一部分,第 11 行

但是当我尝试直接获取 url 时,它可以工作。像这样==>

这是我的代码。下面的代码不起作用

这是我的 medialibrary.php 文件。

这是 filesystems.php 文件。

希望这可以帮助。

请问有什么建议吗???

0 投票
1 回答
2056 浏览

php - BadMethodCallException:调用未定义的方法 App\Models\User::getFirstMedia()

我正在尝试做:

$this->assertFileExists($user->getFirstMedia()->getPath());在我的测试中。但是当我运行它时,我得到了这个错误:

BadMethodCallException: Call to undefined method App\Models\User::getFirstMedia().

我愿意:

我也这样做:

据我所知,我正在使用正确的特征。我在这里做错了什么?

编辑:

我的测试:

我的商店方法控制器代码:

0 投票
1 回答
642 浏览

laravel - Laravel spatie 媒体库以相同的转换但不同的格式重新生成转换

目前我试图将图像从当前格式 .png 重新生成为默认 (jpg).. 但我注意到我生成了具有新格式的新文件.. 所以现在有格式为 .png 和 .jpg 的图像.. 那么我该如何替换旧格式或删除它..从我的研究中可以使用 spatie 提供的命令 clear 或 clean .. 但它是最好的方法还是有其他方法?提前致谢..

我正在使用 spatie 媒体库 v8 https://spatie.be/docs/laravel-medialibrary/v8/introduction

这是旧

所以目前我想使用默认格式,即 jpg

所以基本上我需要重新生成所有旧图像。然而,由于新的更改是不同的格式,它将创建新图像,最终结果将有两个图像(img.png 和 img.jpg)。我有超过 400k 的图像,所以我需要小心。

那么是否有任何解决方案或唯一的方法是使用软件包提供的命令 clean/clear。

0 投票
1 回答
434 浏览

laravel - Laravel Livewire 使用媒体库包上传图片

我正在尝试寻找我们如何Livewirespatie/laravel-medialibraryin集成Laravel。在这段代码中,我可以在用户提交表单时获取图像信息,但我无法保存上传的图像spatie/laravel-medialibrary

或者我尝试使用此代码,但我也收到错误

这里我们没有request默认livewire使用store的上传图片的功能。我们如何整合它们?

0 投票
1 回答
703 浏览

laravel - 如何在 Spatie 中转换所有媒体?

我正在使用 Laravel 的 Spatie 媒体库,

在提及转换类型和集合时,我只能获得第一个媒体网址:

如何获得我想要的所有具有收集和转换的媒体?

问候。

0 投票
2 回答
323 浏览

php - 查看已验证用户的存储文件夹内的文件

我正在使用 spatie 库上传一些文件,这些文件将保存到存储文件夹中。我现在想要完成的是当我是经过身份验证的用户时查看这些文件或图像。我尝试使用此命令创建符号链接,

但这使得这些文件可以公开查看。我只想查看那些文件,只有当用户是经过身份验证的用户时。到目前为止,这就是我所做的,但似乎我错过了一些东西。

路线 :

控制器 :

看法 :

当我点击链接时,它会给我这样的东西。

请帮忙。谢谢...