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

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

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

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

解决方法一:转base64

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

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

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

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

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


文章作者: 朱丰华

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

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

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

发表评论

相关推荐
朱丰华   |   3个月前   |   对象 · 属性 · 反射 · js

js 对象反射 Reflect

128    评论    点赞
朱丰华   |   1年前   |   页面 · 监听

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

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

Linux下安装UPX

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

ab测压命令,apache测压工具

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

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

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

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

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

MySQL用户自定义变量

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

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

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

linux 取得文件行数

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

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

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

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

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

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

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

windows下编写、编译php扩展

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

js vue监听,深度监听

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

yakpro-po混淆php代码

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

php扩展编译nts的方法

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

centos安装golang

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

nodejs引入自定义模块

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

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

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

ubuntu如何获取最高权限

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

{{item.title}}

{{item.uv}}    评论    点赞