如何将图像从 React Native 上传到 Laravel API

如今,开发人员同时处理前端和后端项目是很常见的。根据最近的一项开发人员调查,React Native 是全球最流行的用于构建跨平台移动应用程序的框架之一。Laravel 是一个 PHP Web 框架,具有优雅的代码结构,开发人员可以使用它来创建 REST API。Laravel 目前有71k 的 GitHub 星数,证明了它在开发者社区中的受欢迎程度。

本文将介绍从 React Native 应用程序上传图像到 Laravel API 的详细信息。

内容

  • 入门

  • 设置 Laravel 图片上传 API

  • 为图像上传创建端点

  • 使用 Expo 配置 React Native 应用程序

  • 构建用于预览和上传图像的 React Native UI

  • 检查图像文件大小

入门

从 React Native 应用上传图片看起来很简单。然而,React Native 并没有提供直接的方式来连接应用程序和Laravel 的端点。

因此,您需要采取一些步骤并使用 Axios 之类的 HTTP 库从您的应用中上传图像。您还需要将每个图像的公共 URL 存储在数据库中。

让我们从使用composer创建 Laravel 项目开始。

> 作曲家创建项目 laravel/laravel 图像上传

运行以下命令以创建Image模型类以及迁移。

> php 工匠制作:模型图像 -m

up()然后,在生成的迁移类的函数中指定所需的列,如下所示:

公共函数 up()
{
    Schema::create('images', function (Blueprint $table) {
        $table->id();
        $table->string('url');
        $table->timestamps();
    });
}

接下来,运行以下命令来执行数据库更改。

> php 工匠迁移

现在数据库已经准备好了,让我们设置 API 代码。

设置 Laravel 图片上传 API

让我们创建一个 POST API 来处理来自 React Native 应用程序的图像上传请求。


超过 20 万开发人员使用 LogRocket 来创造更好的数字体验了解更多 →


运行以下命令来创建一个控制器来处理传入的请求。

php 工匠制作:控制器 ImageUploadController

接下来,在ImageUploadController类中,创建一个处理程序类方法,uploadImage如下所示。

使用应用\模型\图像;
使用 Illuminate\Http\Request;
使用 Illuminate\Support\Facades\URL;
使用 Illuminate\Support\Facades\Validator;
使用 Illuminate\Validation\Rules\File;
​
类 ImageUploadController 扩展控制器
{
    公共函数uploadImage(请求$request)
    {
        $validator = Validator::make($request->all(), ['image' => ['required', File::image()->max(2 * 1024)]]);
        if ($validator->fails()) return response()->json($validator->messages());
        $图像 = 新图像();
        $file
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pxr007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值