使用FileUpload上传C#图像

时间:2012-01-13 15:16:45

标签: c# image

我找到了以下代码,但无法理解我应该通过ImageToBase64(Image image, System.Drawing.Imaging.ImageFormat format)传递什么。

我需要一个FileUpload工具将图片上传到系统并将其传递给ImageToBase64

供参考,我的代码是

public string ImageToBase64(Image image, System.Drawing.Imaging.ImageFormat format)
    {
        using (MemoryStream ms = new MemoryStream())
        {
            image.Save(ms, format);
            byte[] imageBytes = ms.ToArray();
            string base64String = Convert.ToBase64String(imageBytes);
            return base64String;
        }
    }

我尝试过ImageToBase64(FileUpload.FileBytes, "Image/PNG")但是我遇到了语法错误。我可以使用这段代码的正确语法是什么?

2 个答案:

答案 0 :(得分:6)

因为该函数接受Image和ImageFormat类型的参数,并且您传入byte []和string。

您不需要mime类型,只需要

var base64String = Convert.ToBase64String(FileUpload.FileBytes);

答案 1 :(得分:0)

如方法签名所述,第二个参数的类型为ImageFormat。这是一个枚举,所以你可以像这样使用它:

/// create or load a bitmap
var bitmap = new Bitmap(.....);

var base64string = ImageToBase64(bitmap,ImageFormat.Bmp);

在这种情况下,ImageFormat参数显然用于告诉Save()方法您想要数据的格式(jpeg,png,bmp等)。 MIME类型不足,并且实际上并不属于此上下文,因为此方法不是特定于Web的。