【问题标题】:Pattern for REST API with Image带有图像的 REST API 模式
【发布时间】:2020-08-26 10:03:49
【问题描述】:

我正在创建具有图像上传/检索功能的 REST API。

不是将图像数据发送到服务器,而是将其上传到存储中。 我正在考虑执行以下操作:

  1. 客户端直接将图片上传到存储(Azure Blob Storage)
  2. 上传成功则从blob存储中获取图片url
  3. 将图像元数据连同 blob 存储中的图像 URL 一起发送到要维护的服务器

就通过 Rest API 管理图像数据(或视频或任何非字符串数据)而言,这是一种可接受的方法吗?

另外,以这种方式设置服务有哪些优点/缺点?

【问题讨论】:

    标签: image api rest storage


    【解决方案1】:

    没有什么可以阻止你这样做,但它会引入一些不必要的复杂性:

    1. 客户端需要知道不同的端点来处理这种特殊类型的请求。

    2. 如果您的 Azure Blob 存储终结点发生变化,您必须更改客户端代码。如果您的用户使用的是应用程序的旧缓存版本,他们可能会遇到奇怪的错误。

    3. 您的客户端必须经过仔细实施,以处理首先将图像上传到 Azure,然后将 URL 发送到 API 的过程。如果用户刷新,再次点击上传按钮,或者如果出现网络问题,您将面临复杂的场景。

    我的建议是,您可以将这种复杂性封装在服务器中,这样您就可以更好地控制正在发生的事情,方法是让客户端发送一个 multipart/form-data MIME 类型的 POST 请求。服务器可以使用有关服务器中图像端点的详细信息对此进行响应。

    【讨论】:

    • 谢谢!我想这就是我要找的!
    猜你喜欢
    • 2021-07-23
    • 1970-01-01
    • 2015-02-13
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-21
    相关资源
    最近更新 更多