Как получить изображение, загруженное с угла в функции облачного узла Firebase? - PullRequest
1 голос
/ 14 апреля 2019

Я пытаюсь загрузить изображение в firebase firestore, но перед этим мне нужно изменить размер изображения с помощью облачных функций.

Ниже приведен код, который я пробовал:

component.html

<input type="file" name="image" (change)="handleFileInput($event.target.files)">

Файл component.ts

handleFileInput(files: FileList){
  console.log("uploaded files.......", typeof files.item(0));

  let postData = new FormData();
  postData.append("image", files.item(0));

  console.log('postData.................', postData);

  this.http.post('https://[.....]/app/resize', postData).subscribe(data => {
    console.log(".........", data);
  });
} 

А вот моя функция облака :

const upload = multer.diskStorage({
  destination: (req, file, cb) => {
    console.log('upload called...............................');
    const isValid = MIME_TYPE_MAP[file.mimetype];
    let error = new Error("Invalid mime type");
    if (isValid) {
      error = null;
    }
    cb(error, "../tmp/");
  },
  filename: (req, file, cb) => {
    console.log('something is here........', file);
    const name = file.originalname
      .toLowerCase()
      .split(" ")
      .join("-");
    const ext = MIME_TYPE_MAP[file.mimetype];
    cb(null, name + "-" + Date.now() + "." + ext);
  });
app.post('/resize', multer({ storage: upload }).single("image"), (req, res) => {
  cors(req, res, () => { });
  res.set('Access-Control-Allow-Origin', "*");
  res.set('Access-Control-Allow-Methods', 'GET, POST');
  console.log("##", req.body);
  console.log("##", req.file);
}    

Я получаю req.body as empty object {} and req.file as undefined?

Я не могу отладить его, чтобы понять, связана ли проблема с угловой стороной или со стороны экспресс-узла в firebase.

postData - это formData, и его содержимое не отображается в консоли браузера.

Не могли бы вы мне помочь решить эту проблему?

...