Rumah > Soal Jawab > teks badan
Saya ingin mendapatkan nama akhiran pautan ini sebelum fs.createWriteStream
dan kemudian paipkannya ke strim data ini untuk menyimpan fail.
Saya mencuba kaedah Promise, dan kemudian ada respons yang lengkap, yang tidak boleh ditulis ke aliran data.
Dan saya juga mencuba kaedah fs.writeFile, tetapi format penulisan tidak betul.
Nota: Tiada sambungan fail dalam URL
Ini kodnya
const fs = require('fs');
const Promise = require('bluebird');
const request = require('request');
let url = 'http://mmbiz.qpic.cn/mmbiz_jpg/D1Wza369eswnoapNaAdvtqygvMAnViaCLa8AMwwDZ4rebKrPvicxFf8zuibfialkPD3A7w8omWjicVm7GhFWcsibfGibw/0';
let file = fs.createWriteStream('file');
request
.get(url)
.on('response', function (response) {
let type = response.headers['content-type']
type = '.' + type.substring(type.lastIndexOf('/') + 1);
console.log(type);
// 在这里加是不可以的
})
.pipe(file)
.on('end', function () {
console.log('end')
})
我想大声告诉你2017-05-16 13:30:40
let type = '';
request
.get(url)
.on('response', function (response) {
type = response.headers['content-type']
type = '.' + type.substring(type.lastIndexOf('/') + 1);
console.log(type);
// 在这里加是不可以的
})
.pipe(fs.createWriteStream('name'+type))
.on('end', function () {
console.log('end')
})