Rumah  >  Soal Jawab  >  teks badan

Bagaimanakah cara Menyatakan dan meminta imej jauh proksi?

Gunakan Node's Express digabungkan dengan permintaan untuk memproksi imej jauh, tetapi kandungan yang dikembalikan adalah berbeza daripada kandungan imej asal Ia bercelaru, tetapi keadaan kucar-kacir tidak konsisten.
Kod kunci:

var FurionImgHandler = function (req, res) {
    var url = req.url.split('/fimg/')[1];
    var options = {
        url: url
    };

    function callback (error, response, body) {
        if (!error && response.statusCode === 200) {
            var contentType = response.headers['content-type'];
            response.setEncoding('binary');
            res.set('Content-Type', contentType);
            res.send(body);
        }
    }

    request.get(options, callback);
};

Gambar asal:

Gambar dikembalikan selepas proksi:

習慣沉默習慣沉默2737 hari yang lalu602

membalas semua(3)saya akan balas

  • 習慣沉默

    習慣沉默2017-05-16 13:47:34

    Hanya tambah encoding: null dan itu sahaja

    var options = {
        url: url,
        encoding: null
    };

    balas
    0
  • 阿神

    阿神2017-05-16 13:47:34

    Ia sepatutnya objek Blob yang diluluskan. Cuba tukarkannya.

    balas
    0
  • 大家讲道理

    大家讲道理2017-05-16 13:47:34

    Jika imej tidak memerlukan penyimpanan atau operasi lain, tidakkah ia boleh dihantar terus ke tindak balas melalui paip?

    http.get(options, (response) => {
        response.pipe(res);
    })

    soonfy

    balas
    0
  • Batalbalas