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