本项目在tomcat上搭建了一个音乐服务。
可以:
- 上传音乐。
- 查询已上传音乐。支持 mp3 和 flac。
- 获取已上传音乐的 url 、时长及艺术家。
在开发者预想中,本服务是用于给 NetMusic 这个 Minecraft Mod 提供资源的。
未来开发者可能会写一个 NetMusic 的附属 mod,直接接入该服务。// 在新建文件夹了(逃
在 /WEB-INF/web.xml
中。
音乐文件的存放位置,相对于项目所在文件夹
<context-param>
<param-name>staticPath</param-name>
<param-value>/static</param-value>
</context-param>
上传文件大小限制,单位为 MB
<context-param>
<param-name>maxFileSize</param-name>
<param-value>30</param-value>
</context-param>
有两个选择:
- txt
- 使用
dbFile
中配置的文件存放数据。默认为这个。 - 优点:方便,不需要使用额外应用。适合在 PC 上临时使用。
- 使用
- db
- 使用数据库,需要一个数据库(开发时使用的是mysql,不清楚能否在其他数据库运行)。
- 请见下面的数据库配置
<context-param>
<param-name>dao</param-name>
<param-value>txt</param-value>
</context-param>
<context-param>
<param-name>dbFile</param-name>
<param-value>/db/musics.txt</param-value>
</context-param>
经典 jdbc 配置。不多言说了,网上到处多是。
<context-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3306/web?useUnicode=true&characterEncoding=utf8</param-value>
</context-param>
<context-param>
<param-name>driver</param-name>
<param-value>com.mysql.cj.jdbc.Driver</param-value>
</context-param>
<context-param>
<param-name>user</param-name>
<param-value></param-value>
</context-param>
<context-param>
<param-name>password</param-name>
<param-value></param-value>
</context-param>
<!-- 最大数据库连接对象数量 -->
<context-param>
<param-name>maxConnections</param-name>
<param-value>5</param-value>
</context-param>
另附 sql 脚本,用于建表:
mups_script.sql
canDelete
控制是否启用
访问 <域名>/mup/action/delete?username=11&pwd=45&mid=14
可以根据 mid 进行删除。
懒得写 html 了,感觉不用太上。主要是会开放给外部,存在安全问题。
默认关闭。
不建议开启,删什么直接上数据库或 txt 文件中删除,并手动删除文件。
username
和pwd
顾名思义,简单的验证,防止非本人操作。
注意:数据全是明文的。
<context-param>
<param-name>canDelete</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>username</param-name>
<param-value>admin</param-value>
</context-param>
<context-param>
<param-name>pwd</param-name>
<param-value>123admin</param-value>
</context-param>
本项目使用了以下第三方库:
- jaudiotagger - Licensed under the LGPL License.
- MySQL Connector - Licensed under the MIT License.
其许可证文本已包含在本仓库中。
本项目使用 GPL-3.0 开源许可证。