基于API的Web应用文件上传

3
我正在使用PHP创建一个以API为中心的Web应用程序。我已经阅读了很多关于API中心架构和设计的文章,但我遇到了一个与文件上传相关的问题。
假设我有一张图片,我想将其上传到API服务器上。我该如何上传这个图片并接收到该图片的链接呢?
这是我现在想要创建它的方式:
1.使用客户端www.domain.com上的选择图像 2.使用POST和multipart/form-data将其上传到www.domain.com 3.使用PUT/POST API调用将此图像发送到api.domain.com 4.api.domain.com将将此图像保存到另一个服务器(如static.domain.com)并将图像ID存储在数据库中 5.然后,当我需要该图像时,可以使用GET API调用到api.domain.com,我将收到图像的URL(类似于static.domain.com/image.jpg)
附加问题:
1.这种方法是正确的吗,还是我完全错了? 2.如果我的应用程序很小,是否需要另一个服务器来存储上传的文件,或者我可以将文件直接存储在API服务器上? 3.如果我将图像存储在与API服务器相同的服务器上,那么如果图像URL看起来像api.domain.com/image.jpg,那么这是不是有点奇怪?
1个回答

1

你没有说明要实现什么类型的API,所以我假设它只是一个RESTful API。

  • 这种方法可行吗?还是说我完全错了?

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

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

是的,你可以将其存储在同一台服务器上,我不知道为什么不能这样做。如果应用程序很小,我不认为你会使用大量存储空间。

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

api.domain.com/image.jpg技术上只是你连接API并获取/发送数据的URL,它并不意味着文件将成为该URL。API返回的内容可能是:

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

我希望这能有所帮助,即使只是一点点!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接