O upload de arquivos para o S3 com êxito com o meu aplicativo. Eu faço um upload direto do navegador usando um signedUrl que meu server gera para mim, usando o aws sdk v3.
Para obter o chamuscado URL parece um pouco como este
const s3Params = {
Bucket : bucketName,
Key : fileName,
ContentType:fileType,
// Metadata:{'Content-Disposition':'attachment'}
// ContentDisposition:'attachment'
};
try {
const command = new PutObjectCommand(s3Params);
const url = await getSignedUrl(s3v3,command,{expiresIn:60});
return url;
} catch (e) {
console.log('************** there was an error signing th url');
console.log(e);
throw e;
}
};
Esta é a funcionar perfeitamente bem, mas então, como eu li um pouco da documentação, vi que eu deveria ser capaz de definir o cabeçalho ContentDisposition. Na presente documentação , ele diz que a entrada de PutObjectCommand se estende desde o PutObjectRequest
O último tem um parâmetro opcional chamado ContentDisposition
como eu gostaria de definir este anexo, para permitir-me para pedir um "download" janela para o meu blog. No entanto, quando eu uso o signedURL como acima, mas adicionar o ContentDisposition:'attachment'
campo de eu obter uma Proibido de Erro.
Alguém sabe se estou faltando alguma coisa aqui? isto não é uma opção real ou preciso modificar alguma coisa na minha permissões de S3 para isso?