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编码。你到底想做什么??