.net 在复制到AWS S3时,Zip文件的文件类型正在更改

.net 在复制到AWS S3时,Zip文件的文件类型正在更改,.net,amazon-web-services,amazon-s3,filestream,.net,Amazon Web Services,Amazon S3,Filestream,我正在尝试将zipfile从本地机器复制到AWS S3存储桶中。 我成功地复制了文件,但是文件类型改为file而不是{.zip} 我是AWS新手,因此不确定是否必须调整代码才能复制zip文件,而不改变其文件类型 这是我的密码: using (var client = GetS3Client()) using (var transferUtility = new TransferUtility(client)) using (var metadataStream = new MemoryStrea

我正在尝试将zipfile从本地机器复制到AWS S3存储桶中。 我成功地复制了文件,但是文件类型改为file而不是{.zip}

我是AWS新手,因此不确定是否必须调整代码才能复制zip文件,而不改变其文件类型

这是我的密码:

using (var client = GetS3Client())
using (var transferUtility = new TransferUtility(client))
using (var metadataStream = new MemoryStream())
using (var metadata = new StreamWriter(metadataStream))
using (var zipImageStream = new FileStream(zipInfo.FilePath, FileMode.Open, FileAccess.Read))
{
var uploadRecordRequest = CreateUploadRequest(zipInfo.ZipFileName, zipImageStream);
transferUtility.Upload(uploadRecordRequest);
}
有了这个,我可以上传一个zip文件,上传的文件如下

希望有人能帮我找到正确的方向来解决这个问题

编辑1

private TransferUtilityUploadRequest CreateUploadRequest(string key, Stream stream)
        {
            return new TransferUtilityUploadRequest
            {
                BucketName = _aWSBucketName,
                Key = key,
                InputStream = stream,
                ServerSideEncryptionMethod = _serverSideEncryptionMethod,
                ServerSideEncryptionKeyManagementServiceKeyId = _serverSideEncryptionKMSKeyId
            };
        }
zipInfo对象的构成如下所示


CreateUploadRequest是SDK的一部分还是您编写的函数?如果是后者,请发布代码。@AshamanKingpin这是我写的一个方法。它返回TransferUtilityUploadRequest对象。已更新(编辑1)我的问题,说明该方法的作用。谢谢,您还可以包括zipInfo是如何构造的吗?为什么要从zipInfo.ZipFileName中删除.zip扩展名?这可能与下载的文件无关(除非您单击的是“打开文件”而不是“保存文件”),但您也没有在TransferUtilityUploadRequest中为上载设置ContentType=“application/zip”。但这是您的问题,您正在使用zipInfo.ZipFileName作为对象的键,该属性的值是test_sampe_zip,而不是test_sample.zip。如果您只复制zip文件,请执行以下操作。。。CreateUploadRequest(zipInfo.ZipFileName+“.zip”,zipImageStream);