当 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()
答案 0 :(得分:1)
// 对于多个文件,使用关键字request。files
我没有使用框架的经验,但是查看文档,它们似乎会自动提取数据,您只需使用 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
})
}
})