Laravel 上传多个文件

2023-12-22

我正在建立一个具有多个文件功能的画廊。

到目前为止,我遇到了两个问题,但让我们先粘贴我的代码。

控制器:

public function store(Request $request)
{

  $gallery = new GalleryImage();

  if($request->hasFile('image')) {
    $images = $request->file('image');
    foreach($images as $image) {
      $path = $image->getClientOriginalName();
      $name = time() . '-' . $path;
      $gallery->image = $image->move(public_path().'/uploads/temp/', $name);
      //$gallery->image = $request->file('image')->storeAs('public/gallery-images', $name);
    }
  }

  $gallery->gallery_id = $request->gallery_id;

  $gallery->save();

  return back()->with('success_message','Images has been uploaded!');
}

查看刀片:

    <form action="{{ route('gallery-images.store') }}" method="POST" enctype="multipart/form-data">
      {{ csrf_field() }}
      <div class="form-group">
        <input type="hidden" name="gallery_id" value="{{ $gallery->id }}">
        <input type="file" name="image[]" id="id_imageGallery" class="form-control" multiple="multiple" required>
      </div>
      <div class="form-group">
        <button type="submit" class="btn btn-primary">Upload</button>
      </div>
    </form>

当我有这样的代码并上传三个文件时,我的第一个问题是,它成功地将文件存储到 /uploads/temp 目录中,但在我的数据库中,我可以看到只上传了一个图像,而不是三个。

我的第二个问题是当我更改代码并使用注释部分时(因为我想将这三个图像存储到存储中):

$gallery->image = $request->file('image')->storeAs('public/gallery-images', $name);

我收到此错误:

Call to a member function storeAs() on array

如何将这些多张图像上传到存储文件夹并将它们全部记录到数据库中?

- 编辑 - 我已经解决了我的第一个问题!

我只是将保存方法和其他细节放在循环内。我之前就应该考虑过这个问题:)

这是我更新的代码:

public function store(Request $request)
{


  if($request->hasFile('image')) {

    $images = $request->file('image');
    foreach($images as $image) {
      $gallery = new GalleryImage();
      $path = $image->getClientOriginalName();
      $name = time() . '-' . $path;
      $gallery->image = $image->move(public_path().'/uploads/temp/', $name);
      //$gallery->image = $request->file('image')->storeAs('public/gallery-images', $name);

      $gallery->gallery_id = $request->gallery_id;
      $gallery->save();
    }
  }


  return back()->with('success_message','Images has been uploaded!');
}

现在唯一要做的就是如何将它们存储到文件存储中,而不是 public_path 并避免该错误:

Call to a member function storeAs() on array 

我终于解决了这些问题并将其发布,因此它可能对某些人有用。

这是我的代码:

public function store(Request $request)
{

  if($request->hasFile('image')) {

    foreach($request->image as $image) {
      $path = $image->getClientOriginalName();
      $name = time() . '-' . $path;

      $gallery = new GalleryImage();
      $gallery->image = $image->storeAs('public/gallery-images', $name);
      $gallery->gallery_id = $request->gallery_id;
      $gallery->save();
    }
  }

  return back()->with('success_message','The images have been uploaded!');
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 上传多个文件 的相关文章

  • 如何在通过 Laravel Eloquent 方法连接的元素上使用 orderby

    问题是查询无法找到应该与 Laravel Eloquent 中的方法WITH 连接的特定方法 特定方法 特定模型 特定模型 特定方法等 有什么想法如何解决吗 我的代码 SpecificModel
  • Laravel 4 路由 404 错误

    当我路由到某个页面时 我无法让 Laravel 找到该页面 我的路线已设置并被识别 当我使用 URL route account create 创建链接时 laravel 会成功地将其解析为 account create 以了解我希望链接转
  • 场次抽奖

    有人能解释一下什么是会话扫彩票吗 我已附加 Laravel 框架的默认会话配置文件 问题 1 它说某些会话驱动程序必须manually扫荡他们的 存储位置 有人可以描述这个过程以及为什么会这样吗 必要的 哪些会话驱动程序需要此操作 2 为什
  • Mongodb 数据库上的 SASL 身份验证失败

    我在尝试使用 PHP Mongodb 驱动程序连接到 Mongodb 时遇到问题 实际上我有一个名为 LRS 的数据库 它有一个名为 juano 的用户 在我的设置文件中带有密码 12345 我确信我编写了正确的配置 但是当我在 Larav
  • laravel 4 登录验证失败

    在 Laravel4 中 我在路由中编写了以下代码 但它总是将我重定向到登录页面 我用谷歌搜索并在堆栈溢出上找到了它 并尝试了所有解决方案但没有成功 我确信这将是一个愚蠢的错误 但请跟踪它 谢谢 Routes Route post logi
  • 如何使用 Laravel Eloquent 返回多重关系?

    我有一张桌子叫users 每个用户都有不同的事情 country device computer category 我为上述每一个 事物 创建了一个表格 类似如下 1 United States 2 United Kingdom 3 Aus
  • 在 Eloquent 中定义自定义属性

    我的数据库中有 3 个不同的字段 city state country 如何在 Eloquent 中定义另一个属性以从这 3 个字段返回一个字符串 第一种方法 但不起作用 protected address public function
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • Laravel $request->file() 返回 null

    尝试在后端使用 Laravel 上传文件时遇到问题 Issue Laravel request gt file 方法返回 null Setup 我使用以下方法构建了一个 AJAX 请求超级代理人 https github com visio
  • 是否可以将路由参数传递给 Laravel 中的控制器构造函数?

    是否可以将路由参数 或路由段 注入到控制器构造函数中 您找到一些代码来澄清我的问题 class TestController protected param public function construct paramFromRoute
  • Laravel Vue 组件只能传递数字?

    在我的 UserMenu vue 中我写道 export default props nameVal data return 并在blade php中
  • Laravel 警告:未知:无法打开流:第 0 行的“未知”中没有此类文件或目录

    使用以下命令创建新的 Laravel 项目后 laravel 新 项目名称 一开始它运行了 但第二次运行后我收到错误消息 警告 未知 无法打开流 第 0 行的 未知 中没有此类文件或目录 致命错误 未知 无法打开第 0 行未知中所需的 D
  • 分页在服务器端好还是前端好? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在构建 Laravel Vue 应用程序 我想知道在后端使用分页还是在前端使用分页更好 我认为最好在每页发送尽可能少的数据的请求 但我想听听
  • 在网站的一次导航中仅显示一次弹出窗口

    我有一个使用 Laravel 创建的网站 我希望用户第一次访问我的网站时能够看到弹出窗口 我的意思是第一次 用户访问我网站上的任何页面 这是第一次 访问网站上的一些链接页面 现在 这些页面访问不是第一次 在同一选项卡中打开 facebook
  • artisan 明确编译返回错误代码 255

    跑步时composer install在我的 laravel 项目中 我收到错误 脚本 php artisan 清晰编译处理返回的 post install cmd 事件 错误代码为 255 关于可能出现的问题有什么建议吗 请注意 comp
  • 在 Laravel 中将自定义/新类文件放在哪里?

    我有关于如何使用 Yelp Fusion API 的 PHP 示例 它用OAuth php file https github com Yelp yelp api blob master v2 php lib OAuth php有几个班级
  • Laravel nova diffForHumans 日期时间

    我对用户有字段last active 我想用 diffForHumans 或显示时间time from now来自 Moment js 我怎样才能做到呢 现在我只使用 DateTime make Activiy last active gt
  • 如何从 Laravel 中的表中选择所有列名称?

    我试图从表中获取所有列名Teller 功能 public function getTableColumns tables return DB select DB raw SELECT COLUMN NAME DATA TYPE COLUMN
  • 在 apache docker 容器中运行虚拟主机

    我在同一个 apache 容器中有两个 php 应用程序 我试图在端口上运行其中一个应用程序 因为它需要通过根域而不是子文件夹进行访问 我想在端口 8060 上运行应用程序 我尝试使用 apache 虚拟主机执行此操作 但它不会加载页面 h
  • 如何在 Laravel 中使用 PUT http 动词提交表单

    我知道这个问题可能已经提出 但我就是无法让它发挥作用 如果有人可以帮助我 我将非常感激 我安装了 colletive form 但答案也可以是 html 表单标签 现在列出我的表格 我的路线和我的例外情况 Form model array

随机推荐

  • 为什么 10 的幂以科学记数法打印为 5 次方?

    我想知道 10 的幂是否与控制台中科学计数法的打印相关以及如何相关 我搜索了 R 文档 但没有找到任何相关的内容 或者我真正理解的内容 首先 我的scipen and digits设置是 unlist options scipen digi
  • 寻求 2D 版本的 approxfun()

    我正在 R 中寻找 2D 版本stats approxfun 可以生成插值function来自 x y z 数据集的 f x y 我在包裹中没有找到akima或其他地方 我会尝试重新适应interp surfaceR 包中的函数fields
  • 我可以在黄瓜中使用带有示例的背景吗?

    我想通过一个示例来说明所有场景的第一步 但所有场景的第一步都是相同的 只有一个元素不同 所以我想在后台完成所有这些步骤 并想添加带有背景的示例 简而言之 假设我想导航到 facebook twitter google 和 youtube 页
  • Quartz调度器和OSGI

    我有一个 OSGI 调度程序包 其中包含 Quartz Scheduler Jar 该捆绑包仅向其他捆绑包公开一个应用程序接口 并且当注册新作业时 它将被包装到临时作业 实现 StatefulJob 中并使用调度程序进行调度 这样我就不必公
  • 使用unix_socket登录MySQL帐户

    我已经创建了一个从机器 A 到机器 B 的转发器 通过 SSH 机器 B 有一个正在运行的 MySQL 实例 其 root 帐户使用unix socket验证 User Host plugin root localhost unix soc
  • 对子文档进行分组/计数,同时保留根字段

    在 mongodb 中 经过一些 match 和 project 后 我 得到以下 2 个文档 我正在尝试弄清楚如何将每个事件的每个组中每个团队的状态列表分组 计数在一起 简而言之 我需要知道每个州有多少支球队 0 1 或 2 我从以下文档
  • 使用 nginx-ingress 和 keycloak 在 kubernetes 中进行身份验证的正确设计是什么

    Goal 我想使用 keycloak 作为我的 minikube 集群的 oauth oidc 提供程序 Problem 我对可用的文档感到困惑 根据这个文档 https kubernetes github io ingress nginx
  • 使用信号量而不是互斥体对 boost::Lockable 进行建模(以前的标题为:从不同线程解锁互斥体)

    我正在使用 C boost thread 库 在我的例子中这意味着我正在使用 pthreads 正式地 互斥体必须从锁定它的同一个线程解锁 我希望能够锁定一个线程 然后在另一个线程中解锁 有很多方法可以实现这一点 一种可能性是编写一个新的互
  • 将 Python 从版本 2.7.9 降级到 2.7.8

    在升级一些Python模块的同时 我也将我的Python版本更新到了2 7 9 然而 这样做已经破坏了 Google App Engine 我需要恢复到至少 2 7 8 我使用 MacPorts 来安装所有内容 解决这个问题最简单的方法是什
  • fiddler 将 https 重定向到本地主机

    我有一个连接到 Azure 中 HTTPS 服务的 iPhone 应用程序 我想通过 Fiddler 将 iPhone 呼叫重定向到http 本地主机 19703 http localhost 19703我在本地计算机上运行相同的服务以进行
  • Nextjs-Graphql webpack 加载器:如何将 Nextjs 与 Graphql 加载器集成

    我正在尝试将 Nextjs 与 graphql tag loader 集成 这是我的next config js file const withSass require zeit next sass const graphqlLoader
  • R 使用 ggplot 绘制置信带

    我想为装有 gls 的模型创建一个置信带 如下所示 require ggplot2 require nlme mp lt data frame year c 1990 2010 mp wav lt rnorm nrow mp cos 2 p
  • 在 Javascript 中创建预定义对象的实例

    我知道在 Javascript 中我们可以创建对象实例 例如 var ins new myObject 我知道 窗口 文档等是JavaScript中预定义的对象 我们可以创建这些对象的新实例吗 例如 Is var inss new docu
  • Swift 3 中的动画曲线

    我想画一些贝塞尔线 并想用波浪效果为它们设置动画 Example 您对我如何做到这一点有一些想法吗 贝塞尔线是最好的方法吗 我为此只找到了 2 个库 但它们对我的需要并不是真正有用 我尝试修改一个库的代码 不幸的是没有成功https git
  • 使用 .bat 更改目录并运行 Jupyter

    我是编码新手 但我只想更改目录并运行 jupyter 问题是 cmd 一旦到达 jupyter notebook 命令就会立即关闭 也尝试过 cmd k 但没有效果 我一定做错了 F cd directoryname activate en
  • Docker 守护进程无法启动或重新启动

    我使用的是 ubuntu 14 04 我还将 docker 升级到最新版本 每当我做一个sudo etc init d docker start我得到一个成功的 pid 如下 docker start running process 162
  • 如何使用 HTML5 画布绘制甜甜圈的一部分?

    正如标题所述 这可能吗 Edit 当我说甜甜圈时 我指的是俯视图 二维视图 唯一的选择是先绘制一段圆 然后在顶部绘制一段具有相同原点和较小半径的较小圆 并使用背景颜色 如果是这样那就太糟糕了 您可以通过使用两条弧线创建一条路径来完成此操作
  • OpenID:如何将多个 OpenID 帐户最佳地关联到一个用户?

    我是 openID 的新手 我花了很多时间思考让用户选择使用各种启用 OpenID 的帐户登录的最佳实践是什么 我必须进一步澄清 我的系统不是一个只需要简单的 一次性身份验证 来进行博客发布的系统 而是一个像社交网站一样的完整系统 用户总是
  • 匿名函数的参数类型必须是完全已知的。 (SLS 8.5)

    我有一个函数文字 case QualifiedType preds ty gt t ty ty Some emptyEqualityConstraintSet preds 这会导致错误消息 missing parameter type fo
  • Laravel 上传多个文件

    我正在建立一个具有多个文件功能的画廊 到目前为止 我遇到了两个问题 但让我们先粘贴我的代码 控制器 public function store Request request gallery new GalleryImage if requ