Я пытаюсь загрузить файл Excel в S3 и загрузить его с использованием подписанногоURL. Я заметил, что объект возвращается в другом типе файла вместо ожидаемого типа xlsx и, следовательно, не читается локально.
У меня есть две лямбды, одна для загрузки объекта и другая для получения the signURL.
Загрузить:
async function () => {
const s3 = new aws.S3({ signatureVersion: 'v4' })
const params = {
Bucket: bucket,
Key: key
}
try {
const signedURL = await s3.getSignedUrl('getObject', params)
return response(200, signedURL)
} catch (err) {
console.log(JSON.stringify(err))
return response(400, err)
}
}
GetSignedURL:
async function () => {
const s3 = new aws.S3({ signatureVersion: 'v4' })
const params = {
Bucket: bucket,
Key: key
}
try {
const signedURL = await s3.getSignedUrl('putObject', params)
return response(200, { signedURL, key })
} catch (err) {
return response(400, err)
}
}
Я предполагаю, что файл фактически не сохраняется с исходным типом файла и S3 фактически просто конвертирует его в текстовый файл. Может быть, мне нужен дополнительный параметр или пакет, чтобы явно сохранить его как файл Excel. Пожалуйста, дайте мне знать ваши мысли!