C# 将PDF文件从内存流上载到AmazonS3

C# 将PDF文件从内存流上载到AmazonS3,c#,asp.net,amazon-s3,aspose,C#,Asp.net,Amazon S3,Aspose,我正在将文件从MemoryStream上传到AmazonS3。这是我的设想 1:用户选择要上载的文档(或docx)文件,然后单击上载按钮 2:通过使用Aspose,我将其转换为pdf格式,并将其保存在内存流中 3:将文件上载到AmazonS3 文件上载成功,但其上载没有任何类型(即文件类型仅为文件)。 这就是我上传的方式 if(fupload.HasFile){ MemoryStream memStream = new MemoryStream(fupload.FileBytes.ToArray

我正在将文件从MemoryStream上传到AmazonS3。这是我的设想 1:用户选择要上载的文档(或docx)文件,然后单击上载按钮 2:通过使用Aspose,我将其转换为pdf格式,并将其保存在内存流中 3:将文件上载到AmazonS3

文件上载成功,但其上载没有任何类型(即文件类型仅为文件)。 这就是我上传的方式

if(fupload.HasFile){
MemoryStream memStream = new MemoryStream(fupload.FileBytes.ToArray());                                                               
MemoryStream outputstream = new MemoryStream();
                                Aspose.Words.Document d1 = new Aspose.Words.Document(memStream);                                
                                d1.Save(outputstream, Aspose.Words.SaveFormat.Pdf);

                                var client = AmazonHelper.S3Client;
                                var PutReq = new Amazon.S3.Model.PutObjectRequest();
                                var GetReq = new Amazon.S3.Model.GetObjectRequest();
                                PutReq.BucketName = "MyBucket";
                                PutReq.InputStream = outputstream;
                                PutReq.ContentType = "application/pdf";
                                PutReq.Key = "Filename";
                                var Result = client.PutObject(PutReq).ToJson();
                                }
我必须将所选文件保存在流中,但无法将其保存在物理目录中。 有没有其他方法可以做到这一点


您可以看到它的类型:File。如果我将其重命名为Filename.pdf并在pdf reader中打开,它将正确地打开它

,但它将在没有任何类型的情况下上载。不确定您的意思以及如何检查类型?@RedSerpent check my updated question在您的请求中指定文件的扩展名
PutReq.Key=“Filename.pdf”
我已在内容类型中指定您正在Windows中查看文件信息。Windows检查已知类型的文件扩展名,并提供相应的说明。您指定的mime类型并不重要,重要的是Windows的工作方式。