https://gist.github.com/jasonbyrne/8dcd15701f686a4703a72f13e3f800c0
аюсь загрузить файл в Cloud Functions, используя Express для обработки запросов, но у меня ничего не получается. Я создал версию, которая работает локально:
серверная часть JS
const express = require('express');
const cors = require('cors');
const fileUpload = require('express-fileupload');
const app = express();
app.use(fileUpload());
app.use(cors());
app.post('/upload', (req, res) => {
res.send('files: ' + Object.keys(req.files).join(', '));
});
клиентская сторона JS
const formData = new FormData();
Array.from(this.$refs.fileSelect.files).forEach((file, index) => {
formData.append('sample' + index, file, 'sample');
});
axios.post(
url,
formData,
{
headers: { 'Content-Type': 'multipart/form-data' },
}
);
Этот точно такой же код, кажется, ломается при развертывании в облачных функциях, где req.files не определен. Кто-нибудь знает, что здесь происходит?
РЕДАКТИРОВАТЬ Я также попробовал использоватьmulter
, который работал нормально локально, но после загрузки в Cloud Functions, я получил пустой массив (тот же код на стороне клиента):
const app = express();
const upload = multer();
app.use(cors());
app.post('/upload', upload.any(), (req, res) => {
res.send(JSON.stringify(req.files));
});