From 48e1da128df501608b4c2df99ae10582a2bde906 Mon Sep 17 00:00:00 2001 From: lyswhut Date: Sat, 16 Nov 2019 20:13:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B0=81=E9=9D=A2=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E5=87=BA=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/utils/mp3Meta.js | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/src/main/utils/mp3Meta.js b/src/main/utils/mp3Meta.js index fd0526e1..14f27388 100644 --- a/src/main/utils/mp3Meta.js +++ b/src/main/utils/mp3Meta.js @@ -7,11 +7,30 @@ const extReg = /^(\.(?:jpe?g|png)).*$/ module.exports = (filePath, meta) => { if (!meta.APIC) return NodeID3.write(meta, filePath) let picPath = filePath.replace(/\.mp3$/, '') + path.extname(meta.APIC).replace(extReg, '$1') - request(meta.APIC).pipe(fs.createWriteStream(picPath)).on('finish', () => { - meta.APIC = picPath - NodeID3.write(meta, filePath) - fs.unlink(picPath, err => { - if (err) console.log(err.message) + request(meta.APIC) + .on('response', respones => { + if (respones.statusCode !== 200 && respones.statusCode != 206) { + delete meta.APIC + NodeID3.write(meta, filePath) + return + } + respones + .pipe(fs.createWriteStream(picPath)) + .on('finish', () => { + meta.APIC = picPath + NodeID3.write(meta, filePath) + fs.unlink(picPath, err => { + if (err) console.log(err.message) + }) + }).on('error', err => { + if (err) console.log(err.message) + delete meta.APIC + NodeID3.write(meta, filePath) + }) + }) + .on('error', err => { + if (err) console.log(err.message) + delete meta.APIC + NodeID3.write(meta, filePath) }) - }) }