问答详情
源自:5-2 获取数据 渲染主窗口列表 编码部分

列表的音乐在导入后,原地址的音乐就删了怎么办?

列表的音乐在导入后,原地址的音乐就删了怎么办?

提问者:_小_七_ 2020-07-18 22:44

个回答

  • 慕虎557368
    2021-02-21 17:20:23

    原地址音乐删除,播放的时候查找文件失败,直接就报错了。

    解决方案:

        1. 将文件存储到数据库,然后用url的方式去访问

        2. 将文件复制到appData里面,store存储的时候存储复制后的文件路径

    下面是复制文件的部分操作:

        1. 文件操作需要用到node.js的fs,使用 const fs = require("fs") 导入

        2. 获取当前应用程序所在目录  const appDataPath = app.getPath("userData")

        3. 创建音乐文件夹 

            const musicDir = appDataPath + "/musics"

            fs.access(musicDir, (error) => {

                if (error) {

                    fs.mkdir(musicDir, () => {})

                }

            })

            4. 读取文件与写入文件

            filePathes.forEach(filePath => {

                const content = fs.readFileSync(filePath)

                const saveFilePath = path.join(musicDir, path.basename(filePath))

                fs.writeFile(saveFilePath ,content, () => {})

            })

        5. 更新store里面存储的path~


    望采纳~