MVC在上传之前转换图像

时间:2015-02-27 20:13:09

标签: c# .net image-processing model-view-controller memorystream

我有一个应用程序可以将图像上传到天蓝色的blob中。我的问题是我需要在上传之前将图像转换为Jpeg。我的解决方案似乎有效,但没有任何内容会上传。 Azure显示blob的名称,但显示的大小为0B。

var pic = System.Drawing.Image.FromStream(Request.Files[file].InputStream);
using(MemoryStream ms = new MemoryStream()){
    pic.Save(ms, ImageFormat.Jpeg);
    // Retrieve reference to a blob named "myblob".
    CloudBlockBlob blockBlob = container.GetBlockBlobReference(label + ".jpeg");
    blockBlob.UploadFromStream( ms);
}

任何想法这个代码有什么问题?

1 个答案:

答案 0 :(得分:4)

写入流后,您通常必须先将位置移回0才能读取它。

在致电ms.Position = 0;

之前,请尝试添加UploadFromStream