专注于经验分享
   工具共享。

【Hellohao图床2.0】基于Sping Boot开发的图床站,纯粹的响应式图片存放驿站

Hellohao图床 – 全新响应式UI

9c1e90629034951_副本.png

这是一个基于多家对象存储源的Spring Boot开源图床项目。系统使用 Spring Boot 搭建, 针对用户更方便的管理自己的图片管理拓展功能, 目前已经支持对接本地网易阿里又拍七牛腾讯FTP对象存储.

前言

本源码是有java语言基于springboot开发的图床站,并且毫无保留的把它开源了出来。

主要功能支持:

  • 支持 图片拖拽、截图软件直接(Ctrl+V)和图片URL地址上传。
  • 对接本地、网易、阿里、又拍、七牛、腾讯、FTP等各大对象存储平台。
  • 图片定期暂存(到期自动删除)
  • 支持链接生成二维码。
  • 支持开启/关闭API接口。
  • 设置用户可用容量
  • 扩容码生成(用户可使用扩容码进行容量扩充)
  • 分发群组(配置用户群组,不同群组分发图片到不同对象存储)
  • 首页背景动态/静态,以及简约模式设置
  • URL列表、缩略图。查看原图等功能。
  • 图片鉴黄配置(开启后,每天固定时间进行非法图片监测)
  • 游客、用户的上传管理
  • 邮箱注册激活。
  • 站点样式设置和上传规则配置等。
  • 等等~~

更新日志

2019-11-07

  • √ 增加上传者ip记录。
  • √ 增加临时期限照片显示。。
  • √ 加固系统安全性验证,防止一些非法操作。
  • √ 优化后台上传图片算法。

主站地址: http://tc.hellohao.cn/

体验地址: http://129.28.173.126:8088/(用户名/密码均为admin)

开发者交流群

群名称: Hellohao图床开发者交流群

群 号: 864800972

系统预览

Hellohao.png

Hellohao2.png

图床后台管理.png
图床后台管理2.png
图床后台管理3.png
图床后台管理4.png

运行环境

  • JDK 1.8
  • MySQL 5.5+

详细部署教程

部署教程分为:1.一键部署;2.手动部署。任选一种部署即可(手动能力强的推荐:手动部署)

前言

部署依赖于java环境:

yum install java


### 一,自动部署
#### 创建数据库:

创建mysql数据库picturebed,并导入picturebed.sql文件建表。

#### 执行如下命令,按步骤操作即可。

```shell

yum install -y wget && wget -O hellohao.sh http://www.hellohao.cn/gg/hellohao.sh && bash hellohao.sh

该方法简单粗暴,包括java环境,不需要去下载jar包,不需要自己去写命令运行。也不需要screen或者nohub之类的后台命令,让用户傻瓜式操作。运行完按Ctrl+C后退出即可。(若内有java环境,先在选择界面安装java环境,然后重新执行以上命名安装图床,即可)

注意事项:

如果重启了服务器,则需要重新部署。没有开机自启。

二,手动部署

先下载编译包:https://github.com/Hello-hao/Tbed/releases,做准备并进行如下操作(这里以linux宝塔环境举例子):

导入数据库

创建数据库picturebed, 字符集选择 utf8
导入picturebed.sql

在应用商店搜索tomcat选择tomcat8版本下载安装(这里说明一下,其实我们并不需要tomcat,只是因为宝塔下载tomcat8自带java环境,而这个java环境正是我们需要的)

配置文件

打开 application.properties 修改 MySQL服务器端口 等连接信息改成你服务器的信息.(端口号改不改都行,前提是保证其他程序没有被占用)


#数据库账号picturebed
spring.datasource.username=root
#数据库密码
spring.datasource.password=root
#数据库链接地址
spring.datasource.url=jdbc:mysql://localhost:3306/picturebed?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
#端口
server.port=8088
#鉴黄周期表达式 下方表达式为每天七点半执行
#不懂请勿乱修改。具体可以参考官方文档http://doc.wwery.com
Expression=0 30 04 * * ?

#下边的配置项不需要修改。
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.mapper-locations=classpath:mapper/*.xml
logging.level.cn.hellohao.dao=debug
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.thymeleaf.cache=false
multipart.maxFileSize=10240KB
multipart.maxRequestSize=10240KB
spring.thymeleaf.mode = LEGACYHTML5
spring.http.multipart.location=/data/upload_tmp

部署

jdk1.8和mysql数据库、还有配置文件,我们都改好了。接下来开始部署吧。
在系统目录/home下新建一个javaweb目录
Tbed.jarapplication.properties放到服务器你刚才新建的目录下:/home/javaweb,注意这两个文件必须要在同一目录下不能分开。

启动项目

在完成了上述步骤后,然后xshell链接你的服务器,进入你刚才的目录,然后执行一下命令.
进入你的目录:


[root@VM_0_15_centos ~]# cd /home/javaweb

部署jar编译包:


[root@VM_0_15_centos javaweb]# java -jar Tbed.jar

ok!等项目跑起来即可,如图:

这里注意:记得把项目所需要的端口(8088)放行,否则访问不了!!

启动后访问地址为:http://服务器IP:8088 , 8088就是你配置server.port=8088的端口.
这样,你的站点就启动了。注意:启动后命令行是不能关闭的,否则你的站点就会不能访问。可以用nohup或者screen之类的命令后台运行。

初始用户名:admin
初始邮箱:admin
初始密码admin

Github开源

希望给出你们的Star:https://github.com/Hello-hao/Tbed

在线文档: http://doc.wwery.com/

视频教程

捐赠者名单

谢谢你们对我的支持,我会把项目做得更好。如果你是学生,请不要捐赠。

列表按照先后顺序显示,不区分金额大小。

昵称 来自 金额 备注
cici9911 hostloc论坛 100¥ ftp
5947***8@qq . com 匿名 66¥
*雪梅 hostloc论坛 66¥ loc
爵珞 交流群 50¥ 感谢分享!

开源版本不排除GUB的存在,如果你遇到BUG下方留言,更新还再继续。
Hellohao博客: http://www.hellohao.cn/

赞(1) 打赏
转载请注明文章地址:Hellohao » 【Hellohao图床2.0】基于Sping Boot开发的图床站,纯粹的响应式图片存放驿站
分享到: 更多 (0)

评论 46

评论前必须登录!

 

  1. #17

    发现如果在站点配置里修改了“站点域名”,但图片列表中的“链接”,那些在修改域名前上传的图片的链接还是旧域名的,没有更新为新域名,觉得这里应该修正一下。
    还有就是后台管理的“关于系统”这个页面里的“开发者交流群:32452345342”这里也应该更正一下。

    永世的缘1个月前 (10-14)
    • 群号一直没注意,有时间我会改一下。感谢反馈

      hellohao1个月前 (10-14)
  2. #16

    请问如何修改一次性上传图片的数量?

    永世的缘1个月前 (10-13)
    • 后台系统配置可以修改参数

      hellohao1个月前 (10-14)
  3. #15

    楼主,为什么我对接的腾讯的cos 在日志里一直报region name only should contain lowercase characters, num, . and – 说区域名格式不对, 区域名是ap-chongqing这个的

    hello2个月前 (09-18)
  4. #14

    这里有个很严重的bug,就是假设我开始注册一个用户,然后邮箱假设是A,然后用初始密码和邮箱进入控制台,改密码和邮箱,假设我邮箱改为A,竟然是可以修改的,造成的后果就是管理员再也不能登录,因为同一邮箱有两个用户。

    2个月前 (09-03)
    • 管理员可以修改 用户名和邮箱,普通用户只能修改密码。

      hellohao2个月前 (09-03)
  5. #13

    老大,邮箱注册发出去的邮件那个注册地址IP是你那个测试站的

    pim3个月前 (08-20)
    • 站点配置把域名修改成你自己的域名就行了。

      hellohao3个月前 (08-20)
  6. #12

    博主好 ,建议增加gitee和github存储方式,感谢

    loading3个月前 (08-15)
  7. #11

    nohup java -jar Tbed.jar 后台运行

    loading3个月前 (08-14)
  8. #10

    首先感谢大佬分享。
    另外提几点个人看法:
    1.希望能增加关闭注册功能,私用的需要。
    2.链接里的links怎么能去掉?
    3.希望每次更新数据库是增量更新,不要每次都覆盖,小白不知道原来的数据库怎么弄进来。
    4.增加关闭首页展示功能选项,进入直接是上传界面。

    shooow3个月前 (08-14)
    • 感谢反馈,你的意见我会参考并酌情采纳。

      hellohao3个月前 (08-14)
  9. #9

    邮箱验证是不支持SSL吗,日志都是isSSL = false,我好像也没看到哪里有开关

    kair3个月前 (08-09)
    • 是的,目前不支持ssl,后期我会加入此功能。

      hellohao3个月前 (08-09)
      • 阿里云封了25端口的我哭了 ❗

        kair3个月前 (08-09)
        • 如果你着急用,那就加群吧,晚上我修复一下ssl然后发群里,如果等更新,可能要等几天。

          hellohao3个月前 (08-09)
          • 免费开源的我还有啥理由急 😐 只是比较期待功能 😆

            kair3个月前 (08-09)
  10. #8

    命令面板不能关么,请教一下,如何让他自动运行

    傻猫3个月前 (08-04)
  11. #7

    小白求问,自建的目录如何加域名呢?在宝塔里,创建网站直接就可以加域名,然后在域名那里解析后就可以了。这个就不会了。能简单教程下不?

    qwer1214个月前 (07-25)
    • 我不太明白你的意思。

      hellohao4个月前 (07-25)
      • 额。我的意思是如何加上域名呢。用http://域名:8088访问而不是用http://服务器IP:8088。在宝塔中“网站”里建立网站的形式大家都会,但是您这种没整明白,是说把网站目录设置到/home/javaweb就可以了吗?

        qwer1214个月前 (07-25)
        • 只要你的域名绑定了服务器,就可以使用 域名:8088 访问了。如果想去掉端口直接使用域名访问,就用Nginx反向代理即可。

          hellohao4个月前 (07-25)
  12. #6

    建议添加ftp和sftp外部存储方式。
    VPS没有对象存储。。。
    希望能尽快添加,感谢!🙏

    loc4个月前 (07-24)
    • 既然是vps,直接把图床部署上去,然后选择本地存储就可以了吧。
      难不成你的图床和存储不是一个vps ?

      hellohao4个月前 (07-24)
      • 用的存储VPS,性能太差。 SSD VPS硬盘太小,只能这样搞了。对象存储流量是天价,很少用。

        loc4个月前 (07-24)
        • 行吧,我考虑下次更新添加S/FTP功能

          hellohao4个月前 (07-24)
          • 大佬,666。报一个拼写错误,文章末尾“更新还再继续”,改成“还在”。

            loc4个月前 (07-24)
          • 好的,不要在意这些细节😂

            hellohao4个月前 (07-24)
  13. #5

    这个可以留一份。

    留芳网4个月前 (07-22)
  14. #4

    折腾了三个小时,终于部署完成了,很不错,希望博主以后持续更新,已经Star。

    ZhaoJun4个月前 (07-21)
  15. #3

    大佬 微云的编译包每次打开都是被删状态啊啊啊啊啊啊

    locmjj4个月前 (07-21)
    • 下载链接已经处理,以后可以去Github点击releases进行最新版编译包下载。
      地址:https://github.com/Hello-hao/Tbed/releases

      hellohao4个月前 (07-21)
      • 大佬辛苦啦!

        locmjj4个月前 (07-21)
      • 又来打扰大佬了
        请问链接格式可以修改吗 ?
        现在是http://abc.com/links/admin/34335ds.jpg
        /links/admin/ 希望可以后台自选或者自定义 ,不想暴露用户名 ,直接根目录 / 或者/19/07 月份命名

        locmjj4个月前 (07-22)
        • 可以,后期链接格式可以做成可配置的,开发者可自由选择/用户名/ 或者 yyyy/mm/dd/ 格式链接配置。

          hellohao4个月前 (07-22)
  16. #2

    很喜欢,就是没部署过java网站。博主能不能发个详细教程或者录个视频。太感谢了。

    星灵5个月前 (06-14)
    • 其实就一行命令。很简单。我尽快抽时间出教程吧。

      hellohao5个月前 (06-14)
  17. #1

    github上的源码,各种错误繁多

    荼蘼熊5个月前 (06-13)
    • 错误的话说明你的环境可能不对,如果对java不是很了解,推荐直接下载编译包使用吧。

      hellohao5个月前 (06-13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏