大量的图片文章html怎么存储

千百元 2016-12-15 10:25:23
大伙帮我想想有什么好的方法没有,或者别的云存储。


有这么个业务,近百万用户,编辑微信文章后,保存转发。
也有可能编辑好的再去修改后再转发,也可能删除。

常规想法可能是,在项目的根目录下搞两个文件夹:
html ---存页面
image ---页面的图片

但当量越来越多时,怎么优化。
...全文
952 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
阿里云oss存储。
浮云若水 2017-01-04
  • 打赏
  • 举报
回复
HTML 方本地 图片放云端
欧美噶 2017-01-04
  • 打赏
  • 举报
回复
看过restful设计风格?+ 阿里云OSS存储
那年花 2017-01-03
  • 打赏
  • 举报
回复
引用 14 楼 liuming690452074 的回复:
引用 11 楼 qq_25543635 的回复:
用百度的富文本编辑器 文章的保存就是一段html代码 这样不存在说量多 因为保存到数据库只是一段字符串 而图片那些是保存到一个你配置好路径的文件夹里面
这个效果怎么样,当数量大时,一条记录包含文本的话,数据库是不是会搞不定?
他保存的是一段html代码 也就是字符串 不存在量大量小 记录可以包含图片,问题,地图,视频等等。 数据库保存的是一段字符串
千百元 2016-12-30
  • 打赏
  • 举报
回复
引用 11 楼 qq_25543635 的回复:
用百度的富文本编辑器 文章的保存就是一段html代码 这样不存在说量多 因为保存到数据库只是一段字符串 而图片那些是保存到一个你配置好路径的文件夹里面
这个效果怎么样,当数量大时,一条记录包含文本的话,数据库是不是会搞不定?
weare微儿 2016-12-22
  • 打赏
  • 举报
回复
fastdfs
小白晒太阳 2016-12-22
  • 打赏
  • 举报
回复
目录可以细化一下,例如image目录下面按照16进制编码初始化目录


//目录初始化代码
for (int i = 0; i <= 255; i++) {
String firstDir = (i <= 15) ? "0" + Integer.toHexString(i).toUpperCase()
: Integer.toHexString(i).toUpperCase();
for (int j = 0; j <= 255; j++) {
String secDir = (j <= 15) ? "0" + Integer.toHexString(j).toUpperCase()
: Integer.toHexString(j).toUpperCase();
File path = new File(basePath + "/" + firstDir + "/" + secDir);
path.mkdirs();
}
}


效果:


此时你存储图片可以按照轮询的方式,将所有目录加载到Map中,key为自增int值,value为目录,00/00等。这样每个目录下面存放的图片比较平均,

或者对图片名称(图片名称需要唯一,可以利用时间戳作为图片名称)求32位MD5值,取MD5值的后4位作为目录点,例如1482396224000 求得MD5值F57B0B8FEA9D6BF2A1D121DC06A62E28,取后四位2E28, 一级目录为28,二级目录为2E,存入对应目录。

这样可以解决单个目录下文件太多太乱。
那年花 2016-12-22
  • 打赏
  • 举报
回复
用百度的富文本编辑器 文章的保存就是一段html代码 这样不存在说量多 因为保存到数据库只是一段字符串 而图片那些是保存到一个你配置好路径的文件夹里面
千百元 2016-12-15
  • 打赏
  • 举报
回复
引用 2 楼 Inhibitory 的回复:
文件多,自己没有这方面的经验的话,优先考虑云存储
有没有这种工具,可以直接访问URL路径,就可以得到HTML所有信息,同时包含它的图片,音乐等。
千百元 2016-12-15
  • 打赏
  • 举报
回复
Inhibitory。 云存储,可以一个html下同时放它包含的图片音乐吗?
千百元 2016-12-15
  • 打赏
  • 举报
回复
wangjian223344 搞一百万个文件夹也好累。!
千百元 2016-12-15
  • 打赏
  • 举报
回复
引用 9 楼 u010425898 的回复:
图片用单独的图片服务器,其他的存数据库 图片也可以存数据库,百万级别的数据并不多,考虑以后的话还是用单独的服务器
这样,APP加载时,为显示一个html。就分两部分数据,一个是html中的文本内容,或者叫html吧。一个从另一个服务器中上来加载html中的图片,这样? 这样的话,其实就是要搞一个两个文件系统,一个放html。一个放html的图片。
Inhibitory 2016-12-15
  • 打赏
  • 举报
回复
文件多,自己没有这方面的经验的话,优先考虑云存储
魔都 2016-12-15
  • 打赏
  • 举报
回复
两个路径,百万的文件夹,磁盘检索就慢死了。不能这么设计 看你的业务得。 如果是按功能画分, html/功能1名 html/功能2名 下一层到 html/功能2名/用户/年/月/日 这个日看你。反正不能一个文件下一堆文件 用户/?
  • 打赏
  • 举报
回复
图片用单独的图片服务器,其他的存数据库 图片也可以存数据库,百万级别的数据并不多,考虑以后的话还是用单独的服务器
bcsflilong 2016-12-15
  • 打赏
  • 举报
回复
ueditor 你参考一下 我一般都是直接将全部内容都存在数据库里 这样省心一些
千百元 2016-12-15
  • 打赏
  • 举报
回复
引用 6 楼 Inhibitory 的回复:
[quote=引用 5 楼 liuming690452074 的回复:] [quote=引用 2 楼 Inhibitory 的回复:] 文件多,自己没有这方面的经验的话,优先考虑云存储
有没有这种工具,可以直接访问URL路径,就可以得到HTML所有信息,同时包含它的图片,音乐等。[/quote] 有,网页爬虫,可以百度一下[/quote] 我的意思是,有没有这么个云服务器,只要把线上又编辑好了的网页,直接存到它们那, 就比如,把微信的文章修改个标题目成为自己的,又把它保存下来, 自己可以下次再修改了再用。。访问速度也不要慢。
Inhibitory 2016-12-15
  • 打赏
  • 举报
回复
引用 5 楼 liuming690452074 的回复:
[quote=引用 2 楼 Inhibitory 的回复:] 文件多,自己没有这方面的经验的话,优先考虑云存储
有没有这种工具,可以直接访问URL路径,就可以得到HTML所有信息,同时包含它的图片,音乐等。[/quote] 有,网页爬虫,可以百度一下

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧