[英]How to store user's profile picture in mysql
我正在为 iOS 开发一个聊天应用程序。
在这个应用程序中,用户可以将图像设置为他们的个人资料图片。
所以我的问题是,我怎样才能在 mysql 中存储图像?
我看到很多人说,只需将图像(在设备上)的链接存储在 mysql 中,但是图像如何在不同的 iOS 设备上从数据库中可用,对吗?
我也尝试过使用 BLOB,但是当显示表行(json 编码)时,BLOB 字段的值显示为 NULL。
请简要回答。
谢谢,
这相当简单:) 物理图像将存储在服务器上,您将仅在数据库中存储图像名称或图像的相对路径,或者您想要的任何内容。 因此,如果您愿意,您将不得不在您的数据库中存储一个指向该图像的“指针”。
所以:
- 服务器上文件夹中的图像
- 在 DB -> path/to/file 或 file_name.format 或者如果你知道你的路径,并且你知道你的格式只是 file_name
希望这可以帮助! :D
可能会迟到但我刚刚找到了这样做的方法。
方式 1:从用户获取图像并使用 id(首选主键)并在您的 public_html 创建图像文件夹中重命名。 为该文件夹设置适当的权限。 并将图像保存在该文件夹中,该图像的 url 将存储在 DB 列中。 喜欢
https://www.example.com/images/user1.png采用这种风格。
方式2:使用其他东西重命名该图像,如用户的电子邮件,用户名等
方式 3:在上述 2 种情况下,其他用户、黑客可能会尝试使用 ID、电子邮件等下载图像。这就是为什么,另一种方法是您可以为配置文件生成哈希并检查哈希是否已经存在在列中如果退出然后生成另一个。 可能我不认为有可能生成类似的哈希值。但您可以检查以避免将来出错。 现在使用生成的哈希重命名图像。
您还可以仅使用存储生成的哈希来减小该链接列的大小,并在您的应用程序中声明一些变量并实现
https://www.example.com/images/generated_hash.png
这里的 url 在所有列中都相同,但不包括该哈希键。 您只能存储该哈希值。
希望它会有所帮助
参考自: https : //www.techupdates.live/how-to-save-profile-picture-in-php-in-5-simple-steps/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.