上传前 MVC 转换图像

MVC converting images before upload

我有一个应用程序可以将图像上传到 Azure 中的 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);
}

知道这段代码有什么问题吗?

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

尝试在调用 UploadFromStream

之前添加 ms.Position = 0;