公司准备爬一些评论数据到数据库里边还涉及了一些图片,然后定期会把这些数据整合成报表并附上图片
求这些图片怎么存储,有好的存取方案吗
开始想用mysql,但是感觉有点废库,如果用文档数据库,感觉又增加了清洗难度,有好的方法吗,既可以少编程又快速存储获取。
这些报表回定期通过帆软报表展现的。
![](https://profile-avatar.csdnimg.cn/0f7d4c67284e47aa90e2c96f88f5208b_darklinboxs.jpg!4)
评论图片存取方案,求方法
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
25条回答 默认 最新
关注
获得0.30元问题酬金 🕗晚上好,题主!目前:🟢[在线]
📢参考通义千问、由郭老师整理提供!
📣今日诗号:二十四桥明月夜,玉人何处教吹箫。评论图片存储方案
存储评论图片需要考虑以下因素:
- 数据规模: 预计有多少图片,以及未来增长趋势。
- 访问频率: 图片会被频繁访问吗?
- 性能要求: 需要多快的图片加载速度?
- 成本: 存储和访问图片的成本是多少?
- 安全性: 如何保证图片的安全性和隐私性?
综合考虑以上因素,以下几种方案可供参考:
1. 对象存储服务 (推荐)
例如: 阿里云 OSS, 腾讯云 COS, AWS S3
优点:
- 高扩展性: 轻松处理海量图片存储。
- 高可用性和持久性: 保证数据安全可靠。
- 成本效益高: 按需付费,避免资源浪费。
- 简单易用: 提供 API 和 SDK 方便集成。
- 丰富的功能: 支持图片处理、CDN 加速等。
方案:
- 将爬取的图片上传至对象存储服务。
- 将图片 URL 存储在数据库中,例如 MySQL 中的评论表。
- 帆软报表可以通过 URL 直接访问和展示图片。
示例代码 (Python, 使用阿里云 OSS SDK):
from oss2 import Auth, Bucket # 阿里云 OSS 配置 AccessKeyId = 'your_access_key_id' AccessKeySecret = 'your_access_key_secret' endpoint = 'your_endpoint' bucket_name = 'your_bucket_name' # 创建授权对象 auth = Auth(AccessKeyId, AccessKeySecret) # 获取存储空间对象 bucket = Bucket(auth, endpoint, bucket_name) # 上传图片 def upload_image(local_file, remote_file_name): try: bucket.put_object_from_file(remote_file_name, local_file) print('Upload Success!') return f'https://{bucket_name}.{endpoint}/{remote_file_name}' # 返回图片 URL except Exception as e: print('Upload Failed:', e) return None # ... 爬取评论和图片 ... # 上传图片并获取 URL image_url = upload_image('local_image.jpg', 'comment_image.jpg') # 将图片 URL 存储到数据库 # ...
2. 数据库文件系统
一些数据库,例如 MongoDB,提供文件存储功能(GridFS)。
优点:
- 直接存储在数据库: 方便管理和查询。
缺点:
- 扩展性有限: 不适合存储海量图片。
- 性能瓶颈: 大文件存储可能影响数据库性能。
3. 本地文件系统 + CDN 加速
优点:
- 简单直接: 易于实现。
缺点:
- 扩展性差: 不适合存储海量图片。
- 运维成本高: 需要自行维护服务器和 CDN。
总结:
综合考虑,使用对象存储服务是存储评论图片的最佳方案, 具有高扩展性、高可用性、成本效益高、简单易用等优点。
解决 无用评论 打赏 举报
悬赏问题
- ¥20 c语言写的8051单片机存储器mt29的模块程序
- ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
- ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。
- ¥50 rk3588板端推理
- ¥250 opencv怎么去掉 数字0中间的斜杠。
- ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
- ¥250 paddleocr带斜线的0很容易识别成9
- ¥15 电子档案元素采集(tiff及PDF扫描图片)
- ¥15 flink-sql-connector-rabbitmq使用
- ¥15 zynq7015,PCIE读写延时偏大