I'm using polymer on the client-side and as the image upload button:
<vaadin-upload
form-data-name="file"
max-files="1"
id="fileUploadImage"
method="POST"
headers='{"Authorization": "bearer {{auth}}", "Content-Type": "multipart/form-data; boundary=XXXX"}'
target="{{config_endpoint}}/rest/upload_file/uploadFile"
nodrop
>
</vaadin-upload>
on server side I'm using multer for uploading the image:
const express = require("express");
const multer = require("multer");
var cors = require("cors");
const config = require("../../config");
const router = express.Router();
var corsOptions = {
origin: config.origin, // '*'
optionsSuccessStatus: 200
};
router.use(cors(corsOptions));
var storage = multer.diskStorage({
destination: function(req, file, cb) {
cb(null, "../../uploads");
},
filename: function(req, file, cb) {
const uniqueSuffix = Date.now() + "-" + Math.round(Math.random() * 1e9);
cb(null, file.fieldname + "-" + uniqueSuffix);
}
});
var uploads = multer({ storage: storage });
router.post("/uploadFile", uploads.single("file"), (req, res) => {
console.log(req.files);
console.log(req.body);
});
module.exports = router;
for both req.files and req.body I got undefined values, see logs:
13:54:44 0|eod | OPTIONS /rest/upload_file/uploadFile 200 0 - 0.553 ms
13:54:44 0|eod | undefined
13:54:44 0|eod | {}
I'm using the following versions: "multer": "^1.4.2", nodejs v8.9.3
Here are my headers" click here
what's wrong ? what I missed? btw, even using Postman I got the same issue