将ASW S3上的.tif图像转换为base64字符串C#

问题描述:

我有一个存储在AWS S3上的带有路径的tif图像。由于某些浏览器不支持显示.tif文件,所以我必须将其转换为base64字符串。 在我的本地,它工作成功。但是,当我将我的网站部署到AWS时,生成的base64字符串与我本地不同。所以,我无法显示。 这是我的代码:将ASW S3上的.tif图像转换为base64字符串C#

byte[] data = (new WebClient()).DownloadData(filePath); 
using (var ms = new MemoryStream(data)) 
{ 
    var image = Image.FromStream(ms); 
    image.Save(ms, System.Drawing.Imaging.ImageFormat.Png); 
    byte[] imageBytes = ms.ToArray(); 
    string base64 = Convert.ToBase64String(imageBytes); 
} 

任何人都有这个问题的经验? 非常感谢!

+0

下载实际上是否成功? S3对象的内容类型是否正确(image/tiff)? Jarmod, – jarmod

+0

。是的,我可以下载tif文件成功。 S3对象的内容类型正确。 –

我注意到你正在重复使用MemoryStream作为你的输出的MemoryStream。

我认为你应该使用一个单独的内存流image.Save()

+0

你是对的。它帮助我节省了很多时间。万分感谢。 –