# mq-player-vue **Repository Path**: jack888/mq-player-vue ## Basic Information - **Project Name**: mq-player-vue - **Description**: MQ音乐是一个基于Electron+Vue构建的一个桌面音乐播放器 - **Primary Language**: JavaScript - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: https://gitee.com/scmq/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-06-03 - **Last Updated**: 2021-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mq-player-vue #### 介绍 MQ音乐是一个基于Electron+Vue构建的一个桌面音乐播放器 #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 问题汇集 > 1.electron不能加载本地资源(即使关闭webSecurity安全策略) 问题在于electron版本自身的bug,关闭网页安全仍然不能解决,反而出现了file协议不认识的情况,该问题解决方案在 [问题发现](https://github.com/electron/electron/issues/23664) [问题解决](https://github.com/electron/electron/issues/23757) . 从解决的方案衍生一个不使用file协议,注册自定义文件协议,这样可以不关闭安全策略 且可以访问本地文件. ```javascript import {protocol} from "electron"; app.whenReady().then(() => { // 注册文件协议必须在应用程序就绪后才能执行 protocol.registerFileProtocol('fs', (request, callback) => { // request请求包含原始请求URL和header等信息 const pathname = request.url.replace('fs:///', ''); // callback回调用于将文件(必须)绝对路径传入并做响应信息处理 callback(pathname); }); }); ``` > 2.文件上传总结 不论以下哪一种方式,form表单中的按钮默认有提交功能,若需要显示按钮,则应该用`` 1).前端部分 ```html
通过普通表单上传文件
通过ajax上传文件
``` 2)后端部分 ```java import lombok.Data; import org.springframework.web.multipart.MultipartFile; @Data public class UploadData { private String name; private MultipartFile file1; private MultipartFile file2; } import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; @Controller @RequestMapping("/api") public class BaseController { @ResponseBody @PostMapping("/upload") public boolean upload(UploadData data) { if (data.getFile1() == null || data.getFile1().isEmpty()) { System.out.println("未选择文件!"); } // ...... return true; } } ```