我正在制作一个Web应用程序,我想将用户个人资料图片存储到在线/云中的某个地方,并希望获得一个可以将其存储在mySQL数据库中的链接。
答案 0 :(得分:1)
我猜是因为您能够访问数据库,所以您有权访问后端。
通常,您只需将它们保存到服务器。创建一个名为images的文件夹并在其中保存内容,或者根据您的情况,您可能需要用户文件夹。
filename="/tmp/newhost.txt"
while IFS= read -r line; do
echo $line
done < "$filename"
#if test -f "$filename"; then
# echo "got here"
#fi
根据情况,您可能不需要所有图像的文件夹。这使维护变得容易,但也使其他人更容易找到与哪个帐户关联的图像。因此,如果想象中的对象对公众隐藏,我将只使用普通文件夹,或者使用基于年或月的文件夹,然后在数据库中记住它的存储位置。
./css
./img
./uploads
./uploads/user_id
./uploads/user_id/image.jpg
您可能还想为其创建唯一的名称,该名称也不包含用户名或ID。
这不是很常见,但是有可能...您可以将图像另存为base64。不建议这样做,因为某些图像非常大,但是对于较小的图像(例如头像仅为32x32),这是访问用户数据的快速方法。 A
当处理一页应用程序或大量json数据以及类似性质的内容时,这也非常有用。如果您只需要对所需数据进行一次调用,并且可以在本地存储base64网址,则为加号。
请记住,base64文件通常较大,但是,如果您发送链接,浏览器将不得不在页面加载期间检索该文件,因此需要付出很大的代价。正如我所暗示的那样,根据我的经验,这实际上仅对通过ajax调用或类似事件加载所有内容的一页应用程序有用。放大图像并不是一个好主意。
有些第三方可以向他们发送图像,这在某些情况下通常会比较麻烦,但是您不必真正担心它,只需将URL保存在数据库中即可。除非您规模超大并且使用许多服务器,或者如果您使用的服务器非常受限,否则我不会真的推荐这样做。