在编写此代码之前,我想确保以正确的方式进行操作。我有一个移动应用程序,它将通过 JSON API 将图像发送到服务器,最好作为用户的属性(或任何正在成像的东西)。
我目前的想法是让移动应用程序发送以 Base64 编码的图像,这样它就可以作为文本包含在用户资源 API 调用中,如下所示:
PUT "/users/1", {"image":"Base64EncodedImageString", "name":"Dan"}
但是我读过将图像存储在 Base64 中会使数据库太大太快。因此,我的计划是获取该字符串,以某种方式将其转换为图像(我确信它与 Paperclip gem 有关)并将其存储在服务器的文件系统中。然后,移动应用程序可以通过图像 MIME 类型 URL 直接下载这些图像,该 URL 将是一些标记在用户 JSON 上的 URL:
{"name":"Dan", "image_url":"http://mysite.com/images/dan.png"}
这是个好主意吗?