https://github.com/Programming-With-Love/PingeBed
🌳品格图床 真·本地图床 不需要配置数据库 直接保存文件在本地
https://github.com/Programming-With-Love/PingeBed
Last synced: 5 months ago
JSON representation
🌳品格图床 真·本地图床 不需要配置数据库 直接保存文件在本地
- Host: GitHub
- URL: https://github.com/Programming-With-Love/PingeBed
- Owner: Programming-With-Love
- License: mit
- Created: 2020-03-12T11:58:41.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-09T07:54:15.000Z (over 2 years ago)
- Last Synced: 2024-08-03T21:03:33.619Z (8 months ago)
- Language: Java
- Size: 16.1 MB
- Stars: 18
- Watchers: 1
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: license
Awesome Lists containing this project
- awesome-seeds - PingeBed
README
# :star: PingeBed
:black_nib:真· 本地图床,使用SpringBoot开发,面向用户的网络图床服务。
:joy: 开发时长两年半的个人图床# 实现
用户在品格图床中上传图片文件(`jpg`/`jpeg`/`png`/`svg`/`gif`/`bmp`/`ico`/`tiff`),图床会自动把图片上传到程序的`运行目录`中PingeBed会把用户上传的图片保存到`本地`,而不是公共容器中。
我们提供了两个API让用户可以获取自己的历史记录,这样就不用进入/history页面了(虽然我感觉/history页面很好看:cry:)
/api/getIp:获取用户的IP地址,为查询历史记录做准备
/api/getPics?ip=*: 通过IP地址查询历史记录
历史记录通过建立一个文件的方式存储

样式 序号=原文件名:/年/日/随机生成的文件名
# :books: 功能
- [x] 自动生成图片对应的`URL格式链接`、`HTML标签格式链接`、`Markdown格式链接`
- [x] 图片链接克隆(转存)功能,可输入图片的URL,图床会自动下载并保存到图床服务器中
- [x] 历史记录功能(按IP地址读取,所以更换IP地址后无法查询)
- [x] 图床管理员后台设置界面(基于配置文件存储,不依赖数据库)
- [x] 仅管理员可上传功能(默认关闭,必须在后台管理员登录后才能上传)
# :underage: 技术使用
#### 前端:
Jquery
Bootstrap
Axios
#### 后端
Thymeleaf
Spring Boot
#### 开发工具
IDEA# :mag: 展示
## 上传

## 历史记录有时间描述,更加清晰

## 管理
## 整体
gif可能会加载不出来,还是clone一个看看吧
# :clipboard: 使用方法
因为是本地图床,所以不需要配置数据库。如果是使用IDEA运行或者是使用maven打包成war包,图床会自动在项目根目录下创建uploadImages文件夹,并把上传的文件保存在此文件夹内。你可以在FileUtils.java中找到此代码:```
String path = ClassUtils.getDefaultClassLoader().getResource("").getPath() + "static/uploadImages/";
```因为项目使用了Thymeleaf,所以static是存储了静态资源的根目录。
### 打包War 包:* 品格图床可以在Tomcat中运行
* 如果你想自己修改品格图床的源码,Clone后在Intellij IDEA中运行,使用Maven - package打包新的war包,新的war包位置在一般在`target`目录中。如图所示:
### :heavy_plus_sign:修改上传文件大小限制
你可以在application.properties文件里修改配置
```
//上传文件大小
spring.servlet.multipart.max-file-size=30MB
//最大请求大小
spring.servlet.multipart.max-request-size=30MB
```
用户会在前端页面看到文件上传限制
### :no_entry_sign: 注意事项
如果你使用了Tomcat 或 Tomcat和Nginx搭载了Picuang,你可能会遇到上传失败的情况。请按照下方的几个解决办法尝试:1. Tomcat:context.xml
修改`conf/context.xml`文件,在``之前添加一行:
```
```
2. Tomcat:server.xml
修改`conf/server.xml`文件,在你使用端口的`Connector`配置中添加一条:
```
maxPostSize="209715200"
```3. Nginx
在你的`location / {`下添加一行:
```
client_max_body_size 100m;`
```# :heart: Thanks
感谢[AdlerED](https://github.com/AdlerED)大佬对我的帮助, [必床](https://pic.stackoverflow.wiki/) ,这是他的开源图床项目,我也是受了他的启发才做出了这个项目,所以有很多地方上都有异曲同工之处
# :mailbox_with_mail:
因为个人水平和开发时间原因,所以这个图床项目可能还存在一些bug,如果你发现了bug或者是有一些好的建议可以选择加微信(zq2011001421)和邮箱([email protected])二选一的方式告诉我。