将映像(base64)保存到s3而不是数据库


Saving image (base64) to s3 than db

我不知道为什么在2015年仍然有关于使用blob将图像保存到mysql的教程。作为一个初学者,我曾经这样做过,但现在我可以预见,如果你想建立一个有人使用的系统,它会有多可怕

我刚刚做了一个迁移到s3的实现,但我不确定我做得对不对。说我正在建立一个博客系统,每个用户都会有自己的博客。因此,我如何保存和检索s3中的图像是使用url端点中的标识符。

像亚历克斯有一篇id为123的博客文章,所以他的图片文件将是.com/blog/123/hisfilehere.png

除了把标识符放在url中,还有更好的方法吗?或者这是最好的方法?我也读过关于将额外信息和文件一起存储到s3的文章,但不确定这与为标识符命名端点有什么不同。

通常的做法是使用一些哈希(例如文件MD5哈希或随机生成的哈希)作为文件名,并使用该哈希的第一个(或最后一个)字符创建子目录。看看这个答案。