suchen

Heim  >  Fragen und Antworten  >  Hauptteil

node.js - Wie kann ich den Dateisuffixnamen automatisch abrufen und speichern, wenn der Pipe-Datenstrom von resquest.j ihn hinzufügt?

Ich möchte den Suffixnamen dieses Links vor fs.createWriteStream erhalten
und ihn dann in diesen Datenstrom weiterleiten, um die Datei zu speichern.

Ich habe die Promise-Methode ausprobiert und dann gibt es eine vollständige Antwort, die nicht in den Datenstrom geschrieben werden kann.
Und ich habe auch die fs.writeFile-Methode ausprobiert, aber das Schreibformat ist falsch.

Hinweis: Die URL enthält keine Dateierweiterung

Hier ist der Code

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')
    })
阿神阿神2750 Tage vor1323

Antworte allen(1)Ich werde antworten

  • 我想大声告诉你

    我想大声告诉你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')
        })
    

    Antwort
    0
  • StornierenAntwort