Cloud Functions for Firebase Endpoint 处理图像
Cloud Functions for Firebase Endpoint to Process an Image
我想创建一个可以接受和处理 JPEG 等图像文件的云函数端点。这是我的代码:
var express = require('express')
var multer = require('multer')
//firebase complains that '/user_code/tmp' is read-only if I use this
//var upload = multer({ dest: 'tmp/' })
var upload = multer({
storage: multer.MemoryStorage,
fileSize: 5 * 1024 * 1024
});
var app = express()
app.post('/image-upload', upload.single('image'), function(req, res, next) {
console.log("request data: " + JSON.stringify(req.data));
console.log("request params: " + JSON.stringify(req.params));
console.log("request query: " + JSON.stringify(req.query));
console.log("request body: " + JSON.stringify(req.body));
console.log("request headers: " + JSON.stringify(req.headers));
console.log("req.file: " + req.file);
console.log("req.files: " + req.files);
res.status(201).send(`My Server Response is ${req.file}`);
});
module.exports.testEndpoint = functions.https.onRequest(app);
出于某种原因,req.file 和 req.files 总是 undefined
。但是,req.body 似乎包含我的图像。我正在使用 Postman 发送 HTTP POST 请求。
我明白了。我的 "Header" 不正确。确保未选中 Content-Type
字段。
我想创建一个可以接受和处理 JPEG 等图像文件的云函数端点。这是我的代码:
var express = require('express')
var multer = require('multer')
//firebase complains that '/user_code/tmp' is read-only if I use this
//var upload = multer({ dest: 'tmp/' })
var upload = multer({
storage: multer.MemoryStorage,
fileSize: 5 * 1024 * 1024
});
var app = express()
app.post('/image-upload', upload.single('image'), function(req, res, next) {
console.log("request data: " + JSON.stringify(req.data));
console.log("request params: " + JSON.stringify(req.params));
console.log("request query: " + JSON.stringify(req.query));
console.log("request body: " + JSON.stringify(req.body));
console.log("request headers: " + JSON.stringify(req.headers));
console.log("req.file: " + req.file);
console.log("req.files: " + req.files);
res.status(201).send(`My Server Response is ${req.file}`);
});
module.exports.testEndpoint = functions.https.onRequest(app);
出于某种原因,req.file 和 req.files 总是 undefined
。但是,req.body 似乎包含我的图像。我正在使用 Postman 发送 HTTP POST 请求。
我明白了。我的 "Header" 不正确。确保未选中 Content-Type
字段。