标题大部分都是这样说的。 我有以下代码:
copySource := bucket + "/" + sourcePath + "/" + filenameIn
destPath := lambdaParams.DestinationPath + "/" + filenameIn
copyObjectInput := s3.CopyObjectInput{
CopySource: aws.String(copySource),
Bucket: aws.String(bucket),
Key: aws.String(destPath),
}
if filepath.Ext(filenameIn) == ".pdf" {
copyObjectInput.SetContentType("application/pdf").SetContentDisposition("inline; filename=\"" + filenameIn + "\"")
}
_, err := svc.CopyObject(©ObjectInput)
if err != nil {
logErrorAndInformGFS(err, "S3 copy error.", c, log, filenameIn)
return err
}
我正在设置Content-Type
和Content-Disposition
,希望复制的对象具有来自Content-Type
和Content-Disposition
的新值。但是,我可以在AWS中看到复制的文件与原始文件具有相同的元数据。我要离开的是什么?
答案 0 :(得分:0)
看起来问题是我需要告诉AWS我想要REPLACE
元数据。添加以下行最后允许我更改元数据:
copyObjectInput.SetMetadataDirective("REPLACE")