代码之家  ›  专栏  ›  技术社区  ›  ScarletMerlin

MVC在上传前转换图像

  •  1
  • ScarletMerlin  · 技术社区  · 9 年前

    我有一个应用程序,可以将图像上传到蓝色的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 回复  |  直到 9 年前
        1
  •  4
  •   cadrell0 X3074861X    9 年前

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

    尝试添加 ms.Position = 0; 在你打电话之前 UploadFromStream