哪里保存上传的头像

时间:2018-12-03 13:59:21

标签: node.js reactjs file-upload avatar

我找不到我的问题的答案。

我正在使用NodeJS和CRA构建一个React应用,我需要实现一个上传头像系统。但是我不确定在哪里保存上传的图像。我的Node服务器提供一个静态文件夹“ public”,所以我需要将图像保存在/ public / avatar中吗?但是,每次我在应用程序上进行更新并重新构建客户端文件夹时,这将覆盖公用文件夹并删除所有以前上传的头像?我是对的 ?那你在建议我什么?

谢谢

2 个答案:

答案 0 :(得分:1)

您可以在多个位置存储用户上传的图像,尽管将其存储在公共场所可能不是最佳位置。

在使用MongoDB这样的数据库的情况下,您可以使用gridfs将图像存储在Mongo中,并在检索用户信息时使用路由来提供数据。同样,您也可以在数据库中存储文件的路径,并从路由中返回该路径或文件数据。

但是请小心用户上传,因为如果您不小心,任意允许上传数据可能会导致意外结果。

答案 1 :(得分:0)

您还可以使用Gravatar(https://gravatar.com/)。 用户可以选择分配给其邮件地址哈希的头像,或者默认情况下使用自动生成的头像。

尽管使用此解决方案,您不能让用户直接在您的网站上更改其头像。

它广泛用于StackOverflow等知名网站。