博客系统避免图片反复上传的两种方法

上传 图片 反复 系统 方法 博客 文件 避免 两种 存在 编程技术
发布日期 2022-08-31 更新日期 2022-08-31 阅读次数 92 文章字数 337

图片/文件重复上传,是很多系统都普遍存在的问题。

点击一下,自动上传,再点一下又上传了一遍??反复操作后,服务器存储了大量的重复图片,大大浪费了服务器空间。

解决方法一:转base64

像博客系统,一篇文章可能有多张图片,如果直接转base64并存数据库,是能解决这个问题的。

虽然这并不是主流方案,但确实挺好用。。。

解决方法二:提取文件hash值,比较唯一值

比如某盘的”秒传“,实际就是对比了文件的hash值,判断文件是否已经存在,如果已经存在则不再上传,直接返回成功。

这个原理,无论是图片还是文件都适用,也就是不单单记录文件名,而且把文件的hash值在数据库中,如果已经存在该hash(该值的判断可以和其他where条件连用,比如同一天内不能反复上传?同一个用户不能反复上传?同一个模块下不能重复上传?),则直接返回。


文章作者: 朱丰华

文章链接: https://smart.52dixiaowo.com/blog/post-25.html

版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。

上传 图片 反复 系统 方法 博客 文件 避免 两种 存在

发表评论

相关推荐
朱丰华   |   1年前   |   页面 · 监听

iframe子父页面信息传递与监听

429    评论    点赞
朱丰华   |   1年前   |   linux · upx

Linux下安装UPX

450    评论    点赞
朱丰华   |   1年前   |   请求 · 一个

ab测压命令,apache测压工具

196    评论    点赞
朱丰华   |   1年前   |   参数 · 命令

golang获取命令行参数方法总结

99    评论    点赞
朱丰华   |   1年前   |   编译 · linux · 平台

Go 交叉编译 (跨平台编译)

182    评论    点赞
朱丰华   |   1年前   |   变量 · mysql · sql · 用户

MySQL用户自定义变量

111    评论    点赞
朱丰华   |   1年前   |   sql · php

PHP如何使用PDO批量执行SQL?

131    评论    点赞
朱丰华   |   1年前   |   linux · 文件 · 行数

linux 取得文件行数

60    评论    点赞
朱丰华   |   1年前   |   html · <

html浏览器当前tab标签切换时触发监听

117    评论    点赞
朱丰华   |   1年前   |   文件 · linux · 修改

linux文件的三个时间atime,mtime,ctime分别表示什么?

292    评论    点赞
朱丰华   |   1年前   |   linux · 文件

linux递归统计文件夹大小、du命令_Linux du命令:查看文件夹和文件的磁盘占用情况

208    评论    点赞
朱丰华   |   1年前   |   php

windows下编写、编译php扩展

177    评论    点赞
朱丰华   |   1年前   |   js · vue · 监听

js vue监听,深度监听

123    评论    点赞
朱丰华   |   1年前   |   php · 混淆 · obfuscate · git

yakpro-po混淆php代码

115    评论    点赞
朱丰华   |   1年前   |   php

php扩展编译nts的方法

97    评论    点赞
朱丰华   |   1年前   |   centos

centos安装golang

103    评论    点赞
朱丰华   |   1年前   |   js · 模块 · nodejs

nodejs引入自定义模块

57    评论    点赞
朱丰华   |   1年前   |   centos

centos目录/etc/profile.d是干什么的

79    评论    点赞
朱丰华   |   1年前   |   ubuntu · 权限

ubuntu如何获取最高权限

143    评论    点赞
朱丰华   |   1年前   |   python

python怎么引入自定义的子目录、父目录文件?

74    评论    点赞
{{item.author_name}}   |   {{new Date(item.date*1000).log()}}   |   {{it}} ·

{{item.title}}

{{item.uv}}    评论    点赞