这是一个小型文件中转站,通过将它部署到云服务器中,即可实现文件的中转,从而实现文件的分享或者跨平台传输的功能。
- JDK8 本项目由JDK8构建,请在运行本项目前确保您的电脑已安装JDK8,若您使用的是IntelliJ
IDEA,您可以很方便的在
Project Structure
中配置JDK版本。 - MySQL 本项目使用MySQL数据库,请在运行本项目前确保您可以顺利连接到MySQL数据库。
- Maven 本项目使用Maven构建,初次打开项目时,IntelliJ IDEA会自动下载Maven依赖,若您的IntelliJ
IDEA没有识别到Maven,请右键项目,选择
Add Framework Support
,选择Maven
,然后点击OK
。 若在Maven下载依赖时出现问题(大部分国内用户都会出现这个问题),为了一劳永逸,建议您在IntelliJ IDEA的File
->Settings
->Build,Execution,Deployment
->Build Tools
->Maven
中配置Maven。 通过在您电脑用户目录下的.m2
文件夹中找到settings.xml
文件(若没有则创建一个该名的文件),在<Mirrors>
内部添加以下内容:
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
再在该设置目录下的User Settings File
中选择刚刚创建的settings.xml
文件,勾选Override
,点击OK
即可,再次重启IntelliJ
IDEA,Maven依赖就会自动下载了。
若pom.xml
依然爆红,尝试再次加载。
-
数据库配置
无论你使用什么数据库管理工具,请在数据库中创建一个容易被记住的数据库名,例如swift
,然后在导入本仓库的sql
文件夹中的database.sql
文件。 之后需要回到本项目的src/main/resources
目录下,找到application.yml
文件,补充数据库的连接信息。 -
文件存储位置配置
该系统由于需要存储用户上传的图片,所以需要配置一个文件存储的位置,然后在application.yml
的文件存储位置配置信息中配置它。
自此,配置基本完成,你可以顺利在本地运行项目了,通过运行在src/main/java/com/swift
目录下的SwiftSendApplication.java
即可启动本项目。
对于希望在服务器上运行,同理修改配置文件(注意文件存储位置配置信息)后在IntelliJ IDEA终端输入:
mvn package -Dmaven.test.skip=true
即可完成打包,云服务器部署请自行利用互联网搜索。
本项目是一个文件中转系统,实现原理较为简单,通过将文件上传到服务器,然后将文件的下载链接发送给对方,对方通过访问该链接即可下载文件。 适用于个人文件分享,跨平台文件传输等场景。用户先上传文件,之后会获取一个唯一的文件密钥,这个密钥和对应的文件会在24个小时后释放, 密钥一旦被使用也会立即实效并删除文件。其中的文字分享功能还未实现,后续会加上。
贡献是使开源社区成为一个学习、激励和创造的奇妙场所的原因。我们非常感谢您的任何贡献。
如果你有什么建议可以让这个项目变得更好,请fork该版本并创建一个PR。 如果在学习中遇到了一些困难,你也可以在这里提交一个issue,我会尽快回复你。 如果它对你有帮助,请star💫它,再次感谢!
关于如何贡献的更多信息,请查看CONTRIBUTING.md。
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the ApacheApache-2.0 license.
See LICENSE.txt
for more information.
riverify - @riverify - https://github.com/riverify
项目链接: 🔗https://github.com/riverify/swift-send
以下资源亦可帮助学习: