php - 以 API 为中心的 Web 应用程序文件上传

标签 php api file-upload

我正在使用 PHP 创建以 API 为中心的 Web 应用程序。我已经阅读了很多关于以 API 为中心的架构和设计的文章,但我遇到了与文件上传相关的问题。

假设我有一张图片,我想将它上传到 API 服务器。我应该如何上传该图片以及如何接收该图片的链接?

这是我现在想要创建它的方式:

  1. 使用 <input type="file"> 选择图像在客户端 www.domain.com
  2. 上传到 www.domain.com使用 POSTmultipart/form-data
  3. 使用 PUT/POST API 调用将此图像发送到 api.domain.com
  4. api.domain.com会将此图像保存到另一台服务器,如 static.domain.com并将图像的ID存储在数据库中
  5. 然后,当我需要这张图片时,我可以使用 GET API 调用 api.domain.com我会收到图片的网址(类似于 static.domain.com/image.jpg )

附加问题:

  • 这种方法是正确的还是我做的完全错了?
  • 如果我的应用程序很小,我是否需要额外的服务器来存储上传的文件,或者我可以直接在 API 服务器上存储文件?
  • 如果我将图像存储在与 API 服务器相同的服务器上,如果图像 url 看起来像 api.domain.com/image.jpg 会不会很奇怪? ?

P.S:我们可以跳过很多与 API 相关的内容,因为我只需要了解如何处理文件上传。

最佳答案

你还没有真正说明你将在这里实现什么样的 API,所以我假设它只是一个 restful API。

  • 这种方法是正确的还是我做的完全错了?

不,我不会说你做错了。您基本上会使用 POST 发送文件。

  • 如果我的应用程序很小,我是否需要额外的服务器来存储上传的文件,或者我可以直接在 API 服务器上存储文件?

是的,它允许您将其存储在同一台服务器上,我不明白为什么不可以。如果应用程序很小,我怀疑你会使用大量存储空间。

  • 如果我将图像存储在与 API 服务器相同的服务器上,如果图像 url 看起来像 api.domain.com/image.jpg 会不会很奇怪?

api.domain.com/image.jpg 在技术上只是您连接到 API 和 GET/POST 数据的 URL。这并不意味着该文件将成为该 URL。 API 可以像这样返回:

{
   type: "IMG", 
   id: "1", 
   url: "example.com/uploads/image.jpg"
}

我希望这能有所帮助,哪怕是一点点!

关于php - 以 API 为中心的 Web 应用程序文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33286068/

相关文章:

c# - 将视频流传输到YouTube(API)

php - 在 laravel 中急切加载时关系数组为 null

php - Openshift 将 wp-admin 重定向到 https

php - 从 SQL 表中获取所有内容并将它们插入到 PHP 数组中

android - 在应用程序android中上传pdf或txt并转换为base64

python - 如何使用 FastAPI UploadFile 将多类型/表单数据保存到 Python 中的硬文件中?

Angular2 - 在此服务器上找不到请求的 url

php - 显示诸如Facebook之类的YouTube视频链接的标题和描述

python - 写入文件时如何格式化JSON数据

php - SignatureDoesNotMatch - Amazon S3 API