axios-savefile
Advanced tools
Comparing version 1.0.7 to 1.0.8
38
index.js
@@ -10,24 +10,20 @@ 'use strict'; | ||
const API = axios.create(); | ||
module.exports = async (url, savePath) => { | ||
API.interceptors.request.use((config) => { | ||
if (isString(config.savePath)) { | ||
config.responseType = 'stream'; | ||
config.transformResponse = [async (data) => { | ||
await new Promise((resolve, reject) => { | ||
const writeStream = fs.createWriteStream(config.savePath); | ||
data.on('end', (err) => { | ||
if (err) reject(); | ||
resolve(); | ||
}); | ||
data.pipe(writeStream); | ||
}); | ||
}]; | ||
if (!isString(savePath) || !isString(url)) { | ||
throw Error('lack parameter') | ||
} | ||
return config; | ||
}); | ||
module.exports = API; | ||
let data = await axios({ | ||
method: 'get', | ||
url, | ||
responseType: 'stream' | ||
}).then(res => res.data) | ||
await new Promise((resolve, reject) => { | ||
const writeStream = fs.createWriteStream(savePath) | ||
data.on('end', (err) => { | ||
if (err) reject() | ||
resolve() | ||
}) | ||
data.pipe(writeStream) | ||
}) | ||
} |
{ | ||
"name": "axios-savefile", | ||
"version": "1.0.7", | ||
"version": "1.0.8", | ||
"description": "axios download file", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -22,8 +22,4 @@ ## axios-savefile | ||
await axiosSaveFile({ | ||
url: 'http://xxx.xxx/file', | ||
method: 'get', | ||
savePath: `${__dirname}/test.png` | ||
}); | ||
await axiosSaveFile('http://xxx.xxx/file', `${__dirname}/test.png`); | ||
``` |
@@ -12,7 +12,3 @@ const axiosSavefile = require('../index'); | ||
try{ | ||
await axiosSavefile({ | ||
url: filePath, | ||
method: 'get', | ||
savePath: tempPath | ||
}); | ||
await axiosSavefile(filePath, tempPath); | ||
} catch (err) { | ||
@@ -19,0 +15,0 @@ console.log(err); |
3697
37
24