{"id":13789208,"url":"https://github.com/Programming-With-Love/PingeBed","last_synced_at":"2025-05-12T03:31:30.561Z","repository":{"id":99619357,"uuid":"246822709","full_name":"Programming-With-Love/PingeBed","owner":"Programming-With-Love","description":"🌳品格图床 真·本地图床 不需要配置数据库 直接保存文件在本地","archived":false,"fork":false,"pushed_at":"2023-01-09T07:54:15.000Z","size":16912,"stargazers_count":18,"open_issues_count":1,"forks_count":6,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-28T10:52:48.876Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Programming-With-Love.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-12T11:58:41.000Z","updated_at":"2024-02-09T19:22:44.000Z","dependencies_parsed_at":"2023-07-31T05:31:46.808Z","dependency_job_id":null,"html_url":"https://github.com/Programming-With-Love/PingeBed","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Programming-With-Love%2FPingeBed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Programming-With-Love%2FPingeBed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Programming-With-Love%2FPingeBed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Programming-With-Love%2FPingeBed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Programming-With-Love","download_url":"https://codeload.github.com/Programming-With-Love/PingeBed/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253668021,"owners_count":21944962,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T21:01:00.038Z","updated_at":"2025-05-12T03:31:30.092Z","avatar_url":"https://github.com/Programming-With-Love.png","language":"Java","readme":"# :star: PingeBed\n\n:black_nib:真· 本地图床，使用SpringBoot开发，面向用户的网络图床服务。\n:joy: 开发时长两年半的个人图床\n\n# 实现\n用户在品格图床中上传图片文件(`jpg`/`jpeg`/`png`/`svg`/`gif`/`bmp`/`ico`/`tiff`)，图床会自动把图片上传到程序的`运行目录`中\n\nPingeBed会把用户上传的图片保存到`本地`，而不是公共容器中。\n\n我们提供了两个API让用户可以获取自己的历史记录，这样就不用进入/history页面了(虽然我感觉/history页面很好看:cry:)\n\t/api/getIp：获取用户的IP地址，为查询历史记录做准备\n\t/api/getPics?ip=*: 通过IP地址查询历史记录\n历史记录通过建立一个文件的方式存储\n![image.png](https://pic.stackoverflow.wiki/uploadImages/2409/8900/43f/2f35/859f/8766/3c2e/2a24/2020/03/12/14/41/eac1d8c6-e378-4a05-8f42-356e19dc46e3.png)\n\t样式  序号=原文件名:/年/日/随机生成的文件名\n![image.png](https://pic.stackoverflow.wiki/uploadImages/222/35/243/5/2020/03/12/18/40/1ecfadd2-3f10-4ce0-b736-f2c14d932c51.png)\n\n# :books: 功能\n\n- [x] 自动生成图片对应的`URL格式链接`、`HTML标签格式链接`、`Markdown格式链接`\n\n- [x] 图片链接克隆（转存）功能，可输入图片的URL，图床会自动下载并保存到图床服务器中\n\n- [x] 历史记录功能（按IP地址读取，所以更换IP地址后无法查询）\n\n- [x] 图床管理员后台设置界面（基于配置文件存储，不依赖数据库）\n\n- [x] 仅管理员可上传功能（默认关闭，必须在后台管理员登录后才能上传）\n\n# :underage: 技术使用\n#### 前端：\n\t\tJquery\n\t\tBootstrap\n\t\tAxios\n#### 后端\n\t\tThymeleaf\n\t\tSpring Boot\n#### 开发工具\n\t\tIDEA\n\n# :mag: 展示\n##  上传\n![image.png](https://pic.stackoverflow.wiki/uploadImages/222/35/243/5/2020/03/12/18/47/de446dcc-0cdb-4c85-aa6e-481816fa51ef.png)\n## 历史记录\n\n有时间描述，更加清晰\n\n![image.png](https://pic.stackoverflow.wiki/uploadImages/222/35/243/5/2020/03/12/18/39/2dcfa60e-9de7-49a4-b726-27c5fb184ea0.png)\n##  管理\n![image.png](https://pic.stackoverflow.wiki/uploadImages/222/35/243/5/2020/03/12/18/48/a6957cfd-72e0-4a5c-b10a-4c8d0ff8a694.png)\n\n## 整体\ngif可能会加载不出来，还是clone一个看看吧\n![success.gif](https://pic.stackoverflow.wiki/uploadImages/222/35/243/5/2020/03/12/19/02/58187c52-0298-4433-8b98-3438df8f7075.gif)\n\n# :clipboard: 使用方法\n因为是本地图床，所以不需要配置数据库。如果是使用IDEA运行或者是使用maven打包成war包，图床会自动在项目根目录下创建uploadImages文件夹，并把上传的文件保存在此文件夹内。你可以在FileUtils.java中找到此代码：\n\n```\nString path = ClassUtils.getDefaultClassLoader().getResource(\"\").getPath() + \"static/uploadImages/\";\n```\n\n因为项目使用了Thymeleaf，所以static是存储了静态资源的根目录。\n### \t打包War 包:\n\n* 品格图床可以在Tomcat中运行\n* 如果你想自己修改品格图床的源码，Clone后在Intellij IDEA中运行，使用Maven - package打包新的war包，新的war包位置在一般在`target`目录中。如图所示：\n![image.png](https://pic.stackoverflow.wiki/uploadImages/222/35/243/5/2020/03/12/19/23/9dd3d334-5231-4bf1-8f10-6ccd4fe5d40b.png)\n\n###\t\t:heavy_plus_sign:修改上传文件大小限制\n\n你可以在application.properties文件里修改配置\n\n```\n//上传文件大小\nspring.servlet.multipart.max-file-size=30MB\n//最大请求大小\nspring.servlet.multipart.max-request-size=30MB\n```\n用户会在前端页面看到文件上传限制\n###\t\t:no_entry_sign: 注意事项\n如果你使用了Tomcat 或 Tomcat和Nginx搭载了Picuang，你可能会遇到上传失败的情况。请按照下方的几个解决办法尝试：\n\n1. Tomcat：context.xml\n\n修改`conf/context.xml`文件，在`\u003c/Context\u003e`之前添加一行：\n\n```\n\u003cResources cachingAllowed=\"true\" cacheMaxSize=\"100000\" /\u003e\n```\n\n2. Tomcat：server.xml\n\n修改`conf/server.xml`文件，在你使用端口的`Connector`配置中添加一条：\n\n```\nmaxPostSize=\"209715200\"\n```\n\n3. Nginx\n\n在你的`location / {`下添加一行：\n\n```\nclient_max_body_size 100m;`\n```\n\n# :heart: Thanks \n\n感谢[AdlerED](https://github.com/AdlerED)大佬对我的帮助, [必床](https://pic.stackoverflow.wiki/) ,这是他的开源图床项目，我也是受了他的启发才做出了这个项目，所以有很多地方上都有异曲同工之处\n\n# :mailbox_with_mail: \n​\t\t因为个人水平和开发时间原因，所以这个图床项目可能还存在一些bug，如果你发现了bug或者是有一些好的建议可以选择加微信(zq2011001421)和邮箱(zlyszzq@163.com)二选一的方式告诉我。\n","funding_links":[],"categories":["Java"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FProgramming-With-Love%2FPingeBed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FProgramming-With-Love%2FPingeBed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FProgramming-With-Love%2FPingeBed/lists"}