Можно ли передать JavaScript File Object
из браузера в AWS Lambda через API-шлюз (наконец, в S3). Я использую TypeScript и React.
Среда
Внешний интерфейс
- TypeScript
- React
- AWS Усиление (для используйте модуль API)
Backend (AWS Lambda)
Что ожидается
до передать File Object
, полученное из браузера по <input type='file'>
, в бэкэнд aws лямбда через API-шлюз.
Что происходит
console.log(event)
в бэкэнде, вывод журнала был пустым.
Что я хочу знать
как правильно передать File Object(Blob)
в лямбду. (Просто ссылка на документ, мне это тоже очень поможет.)
Код (внешний интерфейс)
import { API } from 'aws-amplify'
...
const file = { body: this.state.file }
console.log(file) // output was collect File Object at this time
API.post(<API_NAME>, <PATH>, file)
.then(response => {
console.log(response)
}).catch(error => {
console.log(error)
})
Код (внутренний интерфейс)
exports.lambdaHandler = function (event, context, callback) {
console.info(`event.body: ${event.body}`) // got `event.body: {}` at Cloud Watch Logs
...
}
Это так? Возможно, что я пытаюсь сделать, установив Content-Type или что-то? (Я не смог найти никакой документации. Я начал программировать только один год).