C#使用FileUpload上传图像

C#使用FileUpload上传图像,c#,image,C#,Image,我找到了以下代码,但无法理解我应该通过什么ImageToBase64(Image-Image,System.Drawing.Imaging.ImageFormat) 我需要一个文件上载工具将图像上载到系统并将其传递到ImageToBase64 作为参考,我的代码是 public string ImageToBase64(Image image, System.Drawing.Imaging.ImageFormat format) { using (MemoryStream

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

我需要一个文件上载工具将图像上载到系统并将其传递到
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”)
,但出现语法错误。我可以对这段代码使用什么正确的语法?

因为函数采用Image和ImageFormat类型的参数,并且您正在传入byte[]和string

您不需要mime类型,只需要

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

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

您不需要mime类型,只需要

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

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

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

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

在本例中,
ImageFormat
参数显然用于告诉
Save()
方法您希望数据采用什么格式(jpeg、png、bmp等)。MIME类型不足,实际上不属于此上下文,因为此方法不是特定于web的。

根据方法签名的说明,第二个参数的类型为。这是一个枚举,因此您可以这样使用它:

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

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

在本例中,
ImageFormat
参数显然用于告诉
Save()
方法您希望数据采用什么格式(jpeg、png、bmp等)。MIME类型不足,不属于此上下文,因为此方法不是特定于web的。

非常感谢!有没有这样简单的方法可以将
Base64String
转换回
Image
back?convert.FromBase64CharArray()应该足够了。抱歉,Jishi我不明白如何使用
convert.FromBase64CharArray()
Base64String
转换回Image。它会将它转换回一个byte[]数组,如果在图像对象中需要它,则需要从中创建图像或位图。这完全取决于你打算用它做什么。非常感谢!有没有这样简单的方法可以将
Base64String
转换回
Image
back?convert.FromBase64CharArray()应该足够了。抱歉,Jishi我不明白如何使用
convert.FromBase64CharArray()
Base64String
转换回Image。它会将它转换回一个byte[]数组,如果在图像对象中需要它,则需要从中创建图像或位图。这完全取决于你打算用它做什么。我应该在哪里使用FileUpload呢?我应该在
新位图(…)中写什么
?@Madcoder我假设您正在尝试将已有的图像转换为base 64字符串,因为您发布的方法就是这样做的。如果您已经有了一个从表单帖子(可能是在ASP.NET中)收到的
文件上传
,那么您根本不需要使用base 64编码。你到底想做什么?我应该在哪里使用FileUpload?我应该在
新位图(…)中写什么
?@Madcoder我假设您正在尝试将已有的图像转换为base 64字符串,因为您发布的方法就是这样做的。如果您已经有了一个从表单帖子(可能是在ASP.NET中)收到的
文件上传
,那么您根本不需要使用base 64编码。你到底想做什么??