AdonisJS request.post() 为空

时间:2021-05-06 17:07:11

标签: javascript

autoProcess: true 位于 bodyParser.js 中时,我没有将 ant 路由放入 processManually 中。 request.post() 工作正常并显示来自客户端的所有正文数据。

但是当我将路线放入 processManually 时,request.post() 显示的是空对象。

之所以需要将路由放入 processManually 是因为我需要将图像文件上传到 AWS S3 中

仅在路线为 processManually

时有效
console.log(request.post()) // empty object

request.multipart.file('place[thumbnail[]]', {
  type: ['image'],
  size: '3mb',
}, async (file) => {

})
await request.multipart.process()

1 个答案:

答案 0 :(得分:1)

// 对于多个文件,使用关键字requestfiles

我没有使用框架的经验,但是查看文档,它们似乎会自动提取数据,您只需使用 request.files 引用它即可!

import Route from '@ioc:Adonis/Core/Route'
import Application from '@ioc:Adonis/Core/Application'


Route.post('gallery', async ({ request }) => {
  const images = request.files('images')
  for (let image of images) {
    await s3.upload({
      Key: $key,
      Bucket: 's3-bucket-name',
      Body: fs.createReadStream(image.tmpPath) // or pass image
    })
  }
})