上传的mp3文件无法播放问题(已解决) 您所在的位置:网站首页 为什么有的mp3不能播放 上传的mp3文件无法播放问题(已解决)

上传的mp3文件无法播放问题(已解决)

2022-05-31 19:42| 来源: 网络整理| 查看: 265

我们上传文件后,就可以从后台查看我们上传的文件。(我的做法是,数据库储存的是我们上传完成后文件在服务器中的路径),只要我们服务器是开启的状态就可以按照路径查询到我们要的文件。但是我去查看我上传的mp3文件时,出现了问题。浏览器报个400的错:The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). (译为:服务器不能或不会处理请求,因为被认为是客户端的错误(例如,不正确的请求语法,无效的请求消息帧,或欺骗性的请求路由)。) 查阅相关问题资料,主要的意思是:前端传过来的数据类型与我们后端controller里方法的数据类型不一致所导致的。但我思前想后,这不可能,因为数据类型不一致的话,在文件上传阶段就会被拦截下来,更是不可能上传成功并储存到数据库的。 我又把问题放到文件上,因为代码没有问题的话那么只有文件本身的问题,为此我还测试了图片能不能查询出来,结果想而易见,图片是可以查询出来的。在我多次的测试下发现问题所在,如图: 在这里插入图片描述 当我在后台测试时发现“倒数”是可以播放的,其余不能播放,区别在于文件名字有个[mqms2]的字符串,我想会不会是这个问题,查阅相关资料:手机 qq音乐下载歌曲有mqms2字符其全称是music quick multi selector,代表了该音乐的来源代码,表示音乐文件是从QQ音乐下载的。意思是:如果你不重命名删掉的话,你想挂在网页上,浏览器是不能读取的,算是一种版权保护。 找到了问题的所在,去测试了一把,果然可以查询出来。但问题又来了,当你要上传mp3文件时难道就要先看看文件是否含有[mqms2]字符串吗,有就手动的删除掉,感觉这样太麻烦,我有个办法:获取歌名,然后在获取歌名中的[mqms2]字符串将其替换为空,如下

//这是我在测试类写的测试方法 /** * 测试修改文件名-去除文件名中一部分 */ @Test void test05() { String gg="1233[mqms2].mp3"; gg=gg.replace("[mqms2]",""); String kk="3333.mp3"; kk=kk.replace("[mqms2]",""); System.out.println("这是含有[mqms2]"+gg); System.out.println("这是没有[mqms2]"+kk); }

运行结果如下图: 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有