【发布时间】:2017-04-28 23:57:48
【问题描述】:
我有一个 PHP Laravel 应用程序,它被用作我的前端 JavaScript 应用程序的 API。
在我的图片字段中,我目前只是在我的数据库中存储了一个图片 URL,这需要前端应用在发布之前处理上传图片以将其保存到我的 API。
我的目标是让我的所有 API 图像字段都接受以下任何一种:
- 二进制文件上传
- 图片的 Base64 数据
- 远程图像的 URL
然后,我的 API 会检测传入的图像字段帖子是 3 种类型中的哪一种,并根据需要进行处理。二进制文件将上传文件并将本地图像 URL 保存到数据库,Base64 图像也将保存到本地图像并将 URL 保存到数据库,远程图像 URL 将使用 cURL 之类的东西下载图像并保存本地图像数据库的 URL。
我所描述的我想做的是类似于 imgur.com 的 API。以下是通过其 API 创建新图像的 API 规范:
使用 imgur.com API 上传新图片
Method POST
Route https://api.imgur.com/3/image
Parameters
Key Required Description
------------------------------------
image required A binary file, base64 data, or a URL for an image. (up to 10MB)
所以我现在的问题是,使用 PHP:如何检测我的图像字段的 POST 是图像文件、Base64 字符串还是图像 URL 字符串?
【问题讨论】:
标签: php laravel api image-uploading