无法保存图像干预图像。 Image.php 第 138 行中的 NotWritableException

2023-11-23

我正在尝试保存经过处理的图像,并将其推送到 s3。

我的代码有效此代码将图像直接保存在公共文件夹中*

public function store(Filesystem $filesystem)
{

    $request = Input::all();

    $validator = Validator::make($request, [
        'images' => 'image'
    ]);

    if ($validator->fails()) {
        return response()->json(['upload' => 'false']);
    }

    $postId = $request['id'];

    $files = $request['file'];

    $media = [];

    $watermark = Image::make(public_path('img/watermark.png'));

    foreach($files as $file) {

        $image = Image::make($file->getRealPath());
        $image->crop(730, 547);
        $image->insert($watermark, 'center');
        $image->save($file->getClientOriginalName());

    }

}

我想要实现的是能够将其保存在它自己的文件夹中。首先,在博客文章中存储图像的最佳位置是什么?storage of public文件夹?但无论如何,当我这样做时:

$image->save('blogpost/' . $postId . '/' . $file->getClientOriginalName());

// Or this

$image->save(storage_path('app/blogpost/' . $postId . '/' . $file->getClientOriginalName()));

我收到错误:

公共文件夹内

Image.php 第 138 行中的 NotWritableException:无法将图像数据写入 路径(blogpost/146/cars/image.jpg)

or

存储路径

Image.php 第 138 行中的 NotWritableException:无法将图像数据写入 路径/code/websites/blog/storage/app/blogpost/146/image.jpg

我试过了

cd storage/app/  
chmod -R 755 blogpost

但它仍然行不通

谢谢您阅读此篇


好的,这就是我解决它的方法,我在存储之前先创建了目录,

Storage::disk('local')->makeDirectory('blogpost/' . $postId);

创建文件夹后,我将继续存储操作后的图像,如下所示:

$image->save(storage_path('app/blogpost/' . $postId . '/' . $imageName));

然后将镜像推送到S3

$filesystem->put('blogpost/' . $postId . '/' . $imageName, file_get_contents(storage_path('app/blogpost/' . $postId . '/' . $imageName)));

这有效

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法保存图像干预图像。 Image.php 第 138 行中的 NotWritableException 的相关文章

  • PHP 读取 XML 播客 RSS 源

    好的 我正在为朋友的播客网站创建一个页面 列出他的播客的所有剧集 本质上 我所寻找的只是如何阅读 RSS 提要 解析出节点 并将信息显示在屏幕上 最终 我将创建一个可以播放剧集的播放器 但那是很久以后的事了 这就是我阅读 RSS 源的方式
  • 开发中的 Laravel 和视图缓存——无法立即看到变化

    我和一些朋友决定开始一个项目 我们偶然发现了 Laravel 并认为它可能是一个很好的工具 我们开始在本地使用它来开发一些页面 并注意到一些奇怪的事情 当我们用不同的信息更新视图时 大约需要 5 到 10 分钟视图信息才会发生变化 这就像
  • 无法使用 javascript 建立与安全 Websocket 服务器的连接

    我的开发环境是这样的 操作系统 微软Windows 10 PHP 框架 Laravel 8 0 PHP 版本 7 4 Websocket 服务器 cboden ratchet 0 4 3 WAMP 服务器 3 2 0 Apache 2 4
  • 如何找到数组中的最小数字并返回该数组的主索引?

    我有一个如下所示的数组 我想找到 diff 索引中数字最小的数组 所以在这种情况下 我想取回数组 7 我需要的只是数组编号 即 7 而不是任何其他信息 我知道我可以使用 array column 轻松找到最小的数字 但如何返回整个数组索引
  • 将变量从 PHP 发送到 Javascript

    我在两个单独的文件中有以下代码 其中一个是 javascript 另一个是 php JavaScript xmlhttp new XMLHttpRequest xmlhttp onreadystatechange function if t
  • 将视图加载到变量中

    有什么方法可以将 PHP 文件的内容放入变量中吗 我想做这个 msg this gt load gt view some view 但当我这样做时 msg is NULL 是否可以 有可能的 msg this gt load gt view
  • wkhtmltopdf 与 javascript-delay 不起作用

    使用下面的代码创建的 pdf 尚未完成 javascript 的渲染 因此 javascript 在一半的表格上执行 假设有 100 个表格 则有时完成 50 个表格 其他时候完成 52 54 个表格等 我正在使用旗帜 javascript
  • Symfony2 安全性 @Secure 注释不起作用

    我正在尝试使用注释来保护我的控制器 namespace Vinny StreamBundle Controller use Symfony Bundle FrameworkBundle Controller Controller use J
  • PHP 中 glob() 中的转义空格?

    我在 PHP 中有以下函数 除了名称中带有空格的文件外 该函数运行良好 Good picture jpg例如 这里是 function getphotolist currentalbum photos glob currentalbum J
  • Netbeans (PHP) 中的变量类型提示

    只是好奇 Netbeans 中是否有一种方法可以为常规变量提供类型提示 以便智能感知能够识别它 我知道你可以对类属性 函数参数 返回类型等执行此操作 但我不知道如何对常规变量执行此操作 当您有一个可以返回不同对象类型 如服务定位器 的方法时
  • 如何设置 Zend Cache Storage 的过期时间?

    我想在 Zend 文件系统缓存中存储一 些 XML 并让它在 30 分钟后过期 如何设置缓存持续时间 过期时间 我使用 Zend 缓存作为组件 而不是在完整的 ZF2 应用程序的上下文中 cache Zend Cache StorageFa
  • php 的 SCORM 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们为一位客户开发了电子学习网站 最近他询问需要 SCORM feed 我不知道我的系统是否与 scr
  • 将行分组在一列上并与其他列形成嵌套子数组

    这是我试图处理的事情 我的数组看起来像这样并且有重复项 products product name gt Adidas1 address gt street 2 product name gt Adidas2 address gt stre
  • 从 https 切换到 http 时违反 RewriteRule

    我写了很多重写规则 in my htaccess文件 但是当我从https to http页面 它不遵守这些规则 NOTE 本地主机上一切正常 问题出在服务器上 UPDATE 这是我的website http www charityrumm
  • Session_set_save_handler 未设置

    我在设置 session set save handler 时遇到问题 我将 php ini 配置为 session handler user 这个简单的测试失败了 Define custom session handler if sess
  • PDO 从 Postgres 获取小数秒

    当我查询日期时间字段时postgresql 9 6 用一个简单的 pdo 语句 PHP7 sql SELECT date FROM table stmt adapter gt createStatement sql stmt gt prep
  • 如何防止显示菱形问号符号,即使使用 mb_substr 和 utf-8

    我读过其他一些问题 尝试了答案 但最终没有结果 我得到的是例如这个 我无法删除那个奇怪的问号 我所做的就是获取 RSS feed 的内容 该内容也被编码为内容使用希腊语 有没有什么办法解决这一问题 div div
  • MySql 西班牙语字符数据

    我有一个包含西班牙语字符的数据库 为了填充数据库 我从字符编码 UTF 8 的客户端页面获取值 当我在 mySql 数据库中插入值时 行包含更改的数据 例如 如果我插入 M xico 数据库中的条目是 M xico 其影响是当我对指定 M
  • 在子目录中使用反向代理运行 Symfony 5

    我喜欢在反向代理后面运行 Symfony 5 应用程序 该代理提供以下端点 https my domain service1 https my domain service1 代理配置基本上是这样的 ProxyPass marketsy h
  • PHP - While/Else 错误? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有以下

随机推荐

  • 如何在 OS X 10.6 上构建 64 位 Python —— 只有 64 位,没有通用的废话

    我只是想在我的开发机器上构建这个 来自 Python org 的二进制安装仍然是 32 位 安装扩展 例如 MySQLdb 让我发疯 试图找出每个扩展的正确标志 澄清 我没有替换系统 Python 我只是将 Python org 二进制文件
  • 阻止通过 http 直接访问文件,但允许 php 脚本访问

    我正在将文件 pdf doc flv 等 加载到缓冲区中 并通过脚本将它们提供给我的用户 我需要我的脚本能够访问该文件 但不允许直接访问它 实现这一目标的最佳方法是什么 我应该使用我的权限执行某些操作还是使用 htaccess 锁定目录 最
  • 是否可以对SVN中存储的内容进行加密?

    如果我将源代码存储在共享托管公司的 SVN 中 是否可以对内容进行加密 这样即使有人有权访问该存储库 他们也无法在普通视图中看到源代码 有这个插件吗 否则我想自己实现这个会很疯狂 这里的正确答案是 找到您信任的托管提供商 如果存在监管问题
  • Xcode - 如何制作弹出菜单[重复]

    这个问题在这里已经有答案了 我想在 Xcode 中制作一个弹出菜单 我该怎么做 我希望它看起来漂亮又专业 以下是使用 UIActionSheet 在 UITextView 中显示弹出菜单以响应长按附件的示例 void attachmentA
  • tmPlot 在命名空间中,但未找到其依赖项

    我有一个使用的包tmPlot函数来自treemap 但是当我尝试使用该函数时 它会抛出一个错误 表明其依赖项之一未加载 Error in tmPlot data index index vSize vSize could not find
  • 将文件复制到网络共享驱动器上

    我有一个网络共享驱动器 serveur folder 我想在其中复制文件 我可以使用特定用户 用户 通行证 在驱动器上写入内容 如何使用 C 访问具有写入权限的共享驱动器 未经测试的代码 但它将类似于 AppDomain CurrentDo
  • 显式复制构造函数或按值隐式参数

    我最近读到 不幸的是忘记了在哪里 编写operator 的最佳方式是这样的 foo operator foo other swap this other return this 而不是这个 foo operator const foo ot
  • 如何在不创建android项目的情况下设置libgdx的assets文件夹?

    有办法做吗 我在谷歌上找不到任何相关的教程 Libgdx 不会强制执行任何特定的层次结构或文件夹命名约定来保存您的资产 以便Gdx files internal myassets libgdx png 在桌面上运行得很好 但是 Androi
  • 如何使用 clang++/libc++ 编译/链接 Boost?

    这个问题的答案为什么不能在 c 0x 模式下用 libc 来 clang 链接这个 boost program options 示例 指出 您需要使用 clang stdlib libc 重建 boost 我正在使用 MacOS Lion
  • 如何在 SwiftUI 中将呈现视图关闭到选项卡视图的根视图?

    我在用着TabView在我的主页上 假设我有 4 个选项卡 在第二个选项卡上 我可以使用转到另一个视图NavigationLink我使用另外两个视图NavigationLink 然后在最新的视图上 有一个按钮可以呈现视图 我使用 fullS
  • 找不到方法 apt()

    我正在尝试使用 Dagger2 我正在使用 Android studio 2 2 2 但我的 gradle 出现错误 Error 34 0 Could not find method apt for arguments com google
  • Tomcat 停止响应 Apache

    我正在尝试解决有关使用 mod proxy ajp 连接 Apache 和 Tomcat 的问题 就我而言 Tomcat 停止响应 Apache 并且 apache 日志打印如下日志错误消息 Mon May 06 15 22 47 2013
  • 如何声明两个类,使得 A 具有 B 的成员并且 B 将 A 的成员标记为朋友?

    我正在尝试做 C Primer 第 5 版中的练习 7 32 该练习要求以下内容 定义您自己的版本Screen and Window mgr其中clear是的成员Window mgr和一个朋友Screen 以下是以下的定义Screen Wi
  • Visual Studio 2015 没有语法突出显示剃刀或 Intellisense

    我在 VS2015 RC 中的 Razor 视图没有显示 C 代码的正确颜色 我的项目在 VS2013 中运行良好 但在 2015 年则不然 并且它没有为我提供有关 C 代码的任何智能感知 解决方案已构建并且站点运行良好 我尝试了以下方法但
  • 将数组列表从一个活动传递到另一个活动

    我怎样才能通过ArrayList从一项活动转到另一项活动 这取决于数组列表的类型 putIntegerArrayListExtra String name ArrayList
  • @Immediate 注解在 Jersey2 中的使用

    我有一个与这里提出的问题类似的问题 如何让我的 Jersey 2 端点在启动时立即初始化 但稍微往下走一点 我可以立即加载我的资源 但是当我尝试通过调用 REST url 来使用它时 我得到以下堆栈跟踪 java lang IllegalS
  • Nextjs动态路由渲染两次

    我有一条动态路线pages user id jsx my id jsx包含console log useRouter query id 如果我去url user 5当我检查控制台时 一旦我得到未定义的值 然后得到正确的 ID 在本例中为 5
  • 多Mapper创建对象层次结构

    我已经玩了一段时间了 因为它看起来很像记录的帖子 用户示例 但它略有不同 对我不起作用 假设以下简化设置 一个联系人有多个电话号码 public class Contact public int ContactID get set publ
  • 为什么android模拟器相机会意外停止?

    我使用的是 Android 2 2 API 级别 8 相机已在清单中启用 当我尝试模拟器模型提供的相机图标时 它运行了几秒钟 显示一个灰色框在黑白棋盘周围移动 然后终止并显示错误消息 对不起 应用程序相机 进程 com android ca
  • 无法保存图像干预图像。 Image.php 第 138 行中的 NotWritableException

    我正在尝试保存经过处理的图像 并将其推送到 s3 我的代码有效此代码将图像直接保存在公共文件夹中 public function store Filesystem filesystem request Input all validator