Node.js Multer S3在一次调用中传回表单数据和其他数据

Node.js Multer S3在一次调用中传回表单数据和其他数据,node.js,express,amazon-s3,multer,multer-s3,Node.js,Express,Amazon S3,Multer,Multer S3,我所看到的关于s3和MulterS3的一切都是这样的 const upload = multer({ storage: multerS3({ s3: s3, bucket: 'bucket', acl: 'public-read', cacheControl: 'max-age=31536000', contentType: multerS3.AUTO_CONTENT_TYPE, metadata: function (req, file, c

我所看到的关于s3和MulterS3的一切都是这样的

const upload = multer({
  storage: multerS3({
    s3: s3,
    bucket: 'bucket',
    acl: 'public-read',
    cacheControl: 'max-age=31536000',
    contentType: multerS3.AUTO_CONTENT_TYPE,
    metadata: function (req, file, cb) {
      cb(null, { fieldName: file.fieldname });
    },
    key: function (req, file, cb) {
      const key = `pictures/${Date.now().toString()}`;
      cb(null, key);
    },
  }),
});
 app.post('/profileImage', upload.single('profileImage'), async function (req, res) {
    const { _id } = req.params;
    const user = await User.findOneAndUpdate({ _id }, { image: req.file.location }, { new: true });
    res.json(user);
  });
const formData = new FormData();
        formData.append("picture", this.file);
        const data = {
          title: this.toDoTitle,
          details: this.toDoDetails,
          formData,
        };
        axios
          .post("/profileImage", data)
          .then(() => {
          
          })
          .catch(err => {
            console.log(err);
          });
控制器的动作如下所示

const upload = multer({
  storage: multerS3({
    s3: s3,
    bucket: 'bucket',
    acl: 'public-read',
    cacheControl: 'max-age=31536000',
    contentType: multerS3.AUTO_CONTENT_TYPE,
    metadata: function (req, file, cb) {
      cb(null, { fieldName: file.fieldname });
    },
    key: function (req, file, cb) {
      const key = `pictures/${Date.now().toString()}`;
      cb(null, key);
    },
  }),
});
 app.post('/profileImage', upload.single('profileImage'), async function (req, res) {
    const { _id } = req.params;
    const user = await User.findOneAndUpdate({ _id }, { image: req.file.location }, { new: true });
    res.json(user);
  });
const formData = new FormData();
        formData.append("picture", this.file);
        const data = {
          title: this.toDoTitle,
          details: this.toDoDetails,
          formData,
        };
        axios
          .post("/profileImage", data)
          .then(() => {
          
          })
          .catch(err => {
            console.log(err);
          });
我的问题是,我能否在一次通话中发回表单数据和其他数据,并将图像上传到s3。我希望能够像这样构造我的数据

const upload = multer({
  storage: multerS3({
    s3: s3,
    bucket: 'bucket',
    acl: 'public-read',
    cacheControl: 'max-age=31536000',
    contentType: multerS3.AUTO_CONTENT_TYPE,
    metadata: function (req, file, cb) {
      cb(null, { fieldName: file.fieldname });
    },
    key: function (req, file, cb) {
      const key = `pictures/${Date.now().toString()}`;
      cb(null, key);
    },
  }),
});
 app.post('/profileImage', upload.single('profileImage'), async function (req, res) {
    const { _id } = req.params;
    const user = await User.findOneAndUpdate({ _id }, { image: req.file.location }, { new: true });
    res.json(user);
  });
const formData = new FormData();
        formData.append("picture", this.file);
        const data = {
          title: this.toDoTitle,
          details: this.toDoDetails,
          formData,
        };
        axios
          .post("/profileImage", data)
          .then(() => {
          
          })
          .catch(err => {
            console.log(err);
          });
然后在我的控制器中,我可以将表单数据图像保存在s3中,还可以和其他数据交互。我已经能够发送回req.params中的数据,但我想知道您是否可以将其与图像一起发送回正文中,并能够上载图像和获取其他数据