Jak pobrać obraz do pamięci lokalnej?

Nov 23 2020

Używam funkcji Node.js w chmurze Firebase, ale potrzebuję obrazu, który mam przechowywany w pamięci Firebase, aby móc wysłać go do Google Cloud Vision API.

Vision API wymaga wysłania z lokalnego pliku obrazu:

// const fileName = 'Local image file, e.g. /path/to/image.png';
// Performs safe search detection on the local file
const [result] = await client.safeSearchDetection(fileName);
const detections = result.safeSearchAnnotation;

Jak pobrać zdalny obraz do pamięci lokalnej?

Na przykład chcę przechowywać ten obraz w pamięci lokalnej:

  const image = await axios.get(imgUrl)
  

Odpowiedzi

1 kg99 Nov 23 2020 at 14:02

Dlaczego nie zapiszesz do systemu plików https://nodejs.org/api/fs.html#fs_fs_writefile_file_data_options_callbackzapamiętaj nazwę, aby otrzymać później. Coś jak:

const image = await axios.get(imgUrl);
const path = '/home/some/path/somefilename.jpg'
fs.writeFile(path, image, function(err, data) {
    if (err) {
        throw (err);
    }
    // save filepath to wherever for later.
    
});