国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

項目7-音樂播放器2(上傳音樂+查詢音樂+攔截器)

這篇具有很好參考價值的文章主要介紹了項目7-音樂播放器2(上傳音樂+查詢音樂+攔截器)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

0.加入攔截器

之后就不用對用戶是否登錄進行判斷了

0.1 定義攔截器

項目7-音樂播放器2(上傳音樂+查詢音樂+攔截器),java,前端,服務器

0.2 注冊攔截器?

項目7-音樂播放器2(上傳音樂+查詢音樂+攔截器),java,前端,服務器

生效

1.上傳音樂的接口設計

請求:
{
post,
/music/upload
{singer,MultipartFile file},
}
響應:
{
"status": 0,
"message": "上傳成功!",
"data": true
}

Java如何判斷一個文件是否為真實的MP3文件_判斷一個文件是否是mp3 文件-CSDN博客

流程:前端進行相關的文件操作-再將上傳的文件存入數(shù)據(jù)庫?

1.1 后端代碼

MAPPER

項目7-音樂播放器2(上傳音樂+查詢音樂+攔截器),java,前端,服務器

service

項目7-音樂播放器2(上傳音樂+查詢音樂+攔截器),java,前端,服務器?

controller

package com.example.demo.controller;

import com.example.demo.config.Result;
import com.example.demo.constatnts.Constant;
import com.example.demo.mapper.MusicMapper;
import com.example.demo.model.User;
import com.example.demo.service.MusicService;
import com.example.demo.utils.IsMp3;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpSession;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;


@RestController
@RequestMapping("/music")
public class MusicController {
    @Autowired
    private MusicService musicService;
    @RequestMapping("/upload")
    public Result uploadMusic(String singer, @RequestParam MultipartFile file, HttpSession httpSession)
            throws IOException{
        String fileNameFull=file.getOriginalFilename();
        String path = Constant.SAVE_PATH +fileNameFull;
        File dest=new File(path);
        if(!dest.exists()){//判斷File對象描述的文件是否真實存在
            dest.mkdir();//創(chuàng)建File 對象代表的目錄
        }else{
            return Result.fail(Constant.RESULT_CODE_FAIL,"你已經(jīng)上傳了該文件");
        }
        try {
            file.transferTo(dest);//上傳文件到目標
        } catch (IOException e) {
            e.printStackTrace();
        }
        //判斷是否為MP3格式
        if(!IsMp3.isMp3(dest)){
            Path deltePath = Paths.get(path);
            boolean result = Files.deleteIfExists(deltePath);
            if(result){
                return Result.fail(Constant.RESULT_CODE_FAIL,"上傳的文件不是MP3,違規(guī)文件刪除成功");
            }
            return Result.fail(Constant.RESULT_CODE_FAIL,"上傳的文件不是MP3,違規(guī)文件刪除失敗");
        }
        //將獲取的信息存入數(shù)據(jù)路
        //1.文件名字,存取的是.MP3之前的文件,左開右閉
        String musictitle=fileNameFull.substring(0,fileNameFull.lastIndexOf("."));
        //2.user_id,從session中獲取
        Integer user_id=((User)httpSession.getAttribute(Constant.USERINFO_SESSION_KEY)).getUserId();
        Integer factor=musicService.insertMusic(musictitle,singer,path,user_id);
        if(factor<1){
            return Result.fail(Constant.RESULT_CODE_FAIL,"文件信息上傳數(shù)據(jù)庫失敗");
        }
        return Result.success(true);
    }

}

其中判斷了所傳文件是否為MP3文件?

1.2 后端測試?

1.當傳送的文件不是mp3

項目7-音樂播放器2(上傳音樂+查詢音樂+攔截器),java,前端,服務器

2. 上傳文件成功

項目7-音樂播放器2(上傳音樂+查詢音樂+攔截器),java,前端,服務器

?1.3 前端測試

form表單數(shù)據(jù)的提交與獲取_form表單的提交以及數(shù)據(jù)獲取-CSDN博客

1.form表單提交

項目7-音樂播放器2(上傳音樂+查詢音樂+攔截器),java,前端,服務器

2.ajax異步提交表單數(shù)據(jù)

js獲取表單中input的文件,通過ajax發(fā)送給后臺_獲取表input信息js傳給后臺-CSDN博客?

前后端交互之使用ajax方法實現(xiàn)form表單的提交_ajax form-CSDN博客(重點)

Ajax向后臺傳入File類型參數(shù) - EnjoyToday - 博客園 (cnblogs.com)(重點)

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
    <link rel="stylesheet" href="css/common.css">
</head>
<body>
<!--enctype="multipart/form-data"-->
<div>
    <!-- 表單禁止提交 -->
    <form id="form1" onsubmit="return false" action="##" enctype="multipart/form-data">
    文件上傳:<input type="file" id="file" name="filename"/>
    歌手名: <label>
    <input type="text" name="singer" id="singer" placeholder="請輸入歌手名"/>
    </label>
    <input type="button" value="上傳" id="submit" onclick="submitmessage()"/>
    </form>
</div>
</body>
<script type="text/javascript" src="js/jquery-3.1.1.min.js"></script>    
<script>
    function submitmessage(){
        var formData = new FormData();
        formData.append('file', $('#file')[0].files[0]);
        formData.append('singer',$("#singer").val());
        $.ajax({
            type: "post",
            url: "/music/upload",
            processData: false,
            contentType: false,
            cache: false,
            data: formData,
            success: function(result){
                console.log(result);
                if(result!=null&&result.data==true&&result.status==200){
                    alert("上傳音樂成功");
                    location.href="list.html"
                }else if(result!=null&&result.data!=null&&result.status==-8){
                    alert("你已經(jīng)上傳了該文件");
                }else if(result!=null&&result.data!=null&&result.status==-3){
                    alert("上傳的文件不是MP3,違規(guī)文件刪除成功");
                }else if(result!=null&&result.data!=null&&result.status==-5){
                    alert("上傳的文件不是MP3,違規(guī)文件刪除失敗");
                }else if(result!=null&&result.data!=null&&result.status==-6){
                    alert("文件信息上傳數(shù)據(jù)庫失敗");
                }else{
                    alert("你上傳的文件有誤,請重新上傳");
                }
                
                
            },
            //未登錄的情況
            error: function(error){
                if(error!=null&&error.status==401){
                    alert("請登錄用戶");
                    location.href = "login.html";
                }else{
                    location.href = "list.html";
                }
            }
        });
    }
       
</script>
</html>

1.4 出現(xiàn)問題?

關于jQuery ajax 狀態(tài)碼status為0,一直返回error_jquery1102019932023357764328_1711959324301({"statu-CSDN博客

2.查詢音樂模塊設計

思路:

跳轉過去是無參進行展示,此時頁面展示的是所有音樂,當搜索框輸入字符會顯示特定的音樂

此處查詢需要滿足幾個功能:
1. 支持模糊查詢

2. 支持傳入?yún)?shù)為空

請求:
{
get,
/music/findmusic,
data:{musicName:musicName},
}
響應:【不給musicName傳參】
{
"status": 0,
"message": "查詢到了歌曲的信息",
"data": [
{
"id": 19,
"title": "銀河與星斗(女生版)",
"singer": "gaobo",
"url": "/music/get?path=銀河與星斗(女生版)",
"time": "2022-03-28",
"userid": 3
},
{
"id": 20,
"title": "liu",
"singer": "qq",
"url": "/music/get?path=liu",
"time": "2022-03-28",
"userid": 3
}
]
}
響應:【給musicName傳參】
{
"status": 0,
"message": "查詢到了歌曲的信息",
"data": [
{
"id": 19,
"title": "銀河與星斗(女生版)",
"singer": "lay",
"url": "/music/get?path=銀河與星斗(女生版)",
"time": "2022-03-28",
"userid": 3
}
]
}

2.1 后端代碼?

項目7-音樂播放器2(上傳音樂+查詢音樂+攔截器),java,前端,服務器

項目7-音樂播放器2(上傳音樂+查詢音樂+攔截器),java,前端,服務器?項目7-音樂播放器2(上傳音樂+查詢音樂+攔截器),java,前端,服務器

?2.2 后端測試

項目7-音樂播放器2(上傳音樂+查詢音樂+攔截器),java,前端,服務器

?2.4 前端頁面測試

項目7-音樂播放器2(上傳音樂+查詢音樂+攔截器),java,前端,服務器文章來源地址http://www.zghlxwxcb.cn/news/detail-854226.html

到了這里,關于項目7-音樂播放器2(上傳音樂+查詢音樂+攔截器)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 微信小程序仿網(wǎng)易音樂播放器項目

    微信小程序仿網(wǎng)易音樂播放器項目

    主頁樣式 播放頁樣式 搜索頁樣式 排行榜頁樣式 小控件樣式 網(wǎng)易云音樂API接口 后端接口,使用node寫的,使用了網(wǎng)易云音樂API: 封裝的api文件 主頁面功能點 banner,滑動菜單欄采用微信的API( swiper 與 scroll-view )進行開發(fā) 滑動到底部重新獲取后續(xù)的歌曲,使用onReachBottom周期

    2024年02月06日
    瀏覽(30)
  • Qt項目實戰(zhàn):MP3音樂播放器

    Qt項目實戰(zhàn):MP3音樂播放器

    ??首先通過打開文件,獲取文件夾下mp3文件的名字,將其存入QTableWidget控件下,通過雙擊QTableWidget空間中的內(nèi)容,播放相應的mp3音樂文件,同時通過使用QMediaPlaylist來實現(xiàn)上一首,下一首的功能。 ? widget.h widget.cpp main.cpp 本文福利, 莬 費領取Qt開發(fā)學習資料包、技術視頻,

    2024年02月06日
    瀏覽(30)
  • [MAUI 項目實戰(zhàn)] 手勢控制音樂播放器(三): 動畫

    [MAUI 項目實戰(zhàn)] 手勢控制音樂播放器(三): 動畫

    @ 目錄 吸附動畫 確定位置 平移動畫 回彈動畫 使用自定義緩動函數(shù) 多重動畫 點擊動畫 項目地址 上一章節(jié)我們創(chuàng)建了手勢容器控件PanContainer,它對拖拽物進行包裝并響應了平移手勢和點擊手勢。 拖拽物現(xiàn)在雖然可以響應手勢操作,但視覺效果較生硬,一個優(yōu)秀的設計要求

    2023年04月09日
    瀏覽(19)
  • [MAUI 項目實戰(zhàn)] 手勢控制音樂播放器(二): 手勢交互

    [MAUI 項目實戰(zhàn)] 手勢控制音樂播放器(二): 手勢交互

    @ 目錄 原理 交互實現(xiàn) 容器控件 手勢開始 手勢運行 手勢結束 使用控件 拖拽物 創(chuàng)建pit集合 項目地址 定義一個拖拽物,和它拖拽的目標,拖拽物可以理解為一個平底鍋(pan),拖拽目標是一個坑(pit),當拖拽物進入坑時,拖拽物就會被吸附在坑里??梢阅X補一下下圖: 你

    2023年04月08日
    瀏覽(22)
  • [MAUI 項目實戰(zhàn)] 手勢控制音樂播放器(四):圓形進度條

    [MAUI 項目實戰(zhàn)] 手勢控制音樂播放器(四):圓形進度條

    @ 目錄 關于圖形繪制 創(chuàng)建自定義控件 使用控件 創(chuàng)建專輯封面 項目地址 我們將繪制一個圓形的音樂播放控件,它包含一個圓形的進度條、專輯頁面和播放按鈕。 使用MAUI的繪制功能,需要Microsoft.Maui.Graphics庫。 Microsoft.Maui.Graphics在不同的目標平臺上使用一致的API訪問本機圖形

    2023年04月09日
    瀏覽(23)
  • 開源小項目 - 基于無源蜂鳴器實現(xiàn)的音樂播放器

    開源小項目 - 基于無源蜂鳴器實現(xiàn)的音樂播放器

    目錄 一、音樂簡譜相關知識 1、音符 2、音調 3、識讀簡譜 1. 找到簡譜中C調的音符對應的蜂鳴器頻率(確定音調對應的頻率) 2. 確定蜂鳴器演奏一拍所需的時間(即確定一個音調對應的節(jié)拍數(shù)) 3.創(chuàng)建結構體確定一個音符所需的兩個屬性(音調頻率、節(jié)拍數(shù)) 4.將《兩只老虎

    2024年03月10日
    瀏覽(22)
  • [MAUI 項目實戰(zhàn)] 手勢控制音樂播放器(一): 概述與架構

    [MAUI 項目實戰(zhàn)] 手勢控制音樂播放器(一): 概述與架構

    這是一篇系列博文。請關注我,學習更多.NET MAUI開發(fā)知識! [MAUI 項目實戰(zhàn)] 手勢控制音樂播放器(一): 概述與架構 [MAUI 項目實戰(zhàn)] 手勢控制音樂播放器(二): 手勢交互 [MAUI 項目實戰(zhàn)] 手勢控制音樂播放器(三): 動畫 [MAUI 項目實戰(zhàn)] 手勢控制音樂播放器(四):圓形進

    2023年04月09日
    瀏覽(16)
  • 【無標題】單片機小項目———音樂播放器(keil+protues)

    【無標題】單片機小項目———音樂播放器(keil+protues)

    剛學完單片機的朋友可以看一看。 主要功能: 1.播放音樂 2.切歌 3.顯示歌曲數(shù) 仿真: ?代碼: #includeREG52.H //#define sound_amount 5? sbit play_up=P1^0;? ? ? ? sbit play_down=P1^1;? ? sbit pause=P1^2;? ? ? ? sbit speaker=P3^1;? ? ? unsigned char timer0h,timer0l,time,n; unsigned char music_num;? ? unsigned int

    2024年02月11日
    瀏覽(22)
  • 【AT89C52單片機項目】音樂播放器的設計

    【AT89C52單片機項目】音樂播放器的設計

    實驗目的 用51系列單片機設計一個可以切歌的音樂播放器。 實驗儀器 AT89C52單片機。 音樂播放模塊。 設計要求 采用重裝定時器計數(shù)方式1的初值來實現(xiàn)發(fā)出不同頻率的聲音,通過控制延時長度來實現(xiàn)不同的節(jié)拍,之后將音樂數(shù)據(jù)表填入,即可實現(xiàn)音樂播放。 可通過功能按鍵

    2024年02月16日
    瀏覽(67)
  • Android 音樂播放器

    Android 音樂播放器

    ? 音樂播放器 . ? 要求 : Activity 編程、 ListView 編程、 SeekBar 編程、 ExoPlayer 編程( 播放 、 暫停 、 停止 、 上一首 、 下一首 ),音樂文件放在 assets/music 目錄下,界面自擬. ? 期望最終效果: ? 分別對應 activity_music_list.xml 、 activity_my_music_player.xml 的視圖. ? 點擊列表任

    2024年02月03日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包