C# 如何将图像文件读取到字节[]?

C# 如何将图像文件读取到字节[]?,c#,file-io,C#,File Io,这就是我保存图像的方式 [HttpPost] 公共操作结果创建(HttpPostedFileBase文件) { 如果(文件!=null) { var extension=Path.GetExtension(file.FileName); var fileName=Guid.NewGuid().ToString()+扩展名; var path=path.Combine(Server.MapPath(“~/Content/Photos”),文件名); file.SaveAs(路径); //... }

这就是我保存图像的方式

[HttpPost]
公共操作结果创建(HttpPostedFileBase文件)
{
如果(文件!=null)
{
var extension=Path.GetExtension(file.FileName);
var fileName=Guid.NewGuid().ToString()+扩展名;
var path=path.Combine(Server.MapPath(“~/Content/Photos”),文件名);
file.SaveAs(路径);
//...
}
}
我不想显示该位置的图像。我想先看一下,以便进一步处理


在这种情况下,如何读取图像文件?

更新:将图像读取到一个字节[]

// Load file meta data with FileInfo
FileInfo fileInfo = new FileInfo(path);

// The byte[] to save the data in
byte[] data = new byte[fileInfo.Length];

// Load a filestream and put its content into the byte[]
using (FileStream fs = fileInfo.OpenRead())
{
    fs.Read(data, 0, data.Length);
}

// Delete the temporary file
fileInfo.Delete();

// Post byte[] to database
看在历史的份上,这是我在问题澄清之前的回答

您的意思是将其作为实例加载吗

 BitMap image = new BitMap(path);

 // Do some processing
 for(int x = 0; x < image.Width; x++)
 {
     for(int y = 0; y < image.Height; y++)
     {
         Color pixelColor = image.GetPixel(x, y);
         Color newColor = Color.FromArgb(pixelColor.R, 0, 0);
         image.SetPixel(x, y, newColor);
     }
 }

// Save it again with a different name
image.Save(newPath);
位图图像=新位图(路径);
//做一些处理
对于(int x=0;x
能否更具体地说明您希望它采用的格式?e、 一条小溪,或者别的什么?这里没有问题。问题以问号(?)结尾。@abelenky:我添加了一个问题。它仍然不清楚,因为“阅读”有多种解释。阅读它的目的是什么?我发布了一个关于如何通过将其加载为位图实例来“读取”它的答案,该实例可用于像素处理。如果您希望通过处理原始二进制文件来“读取”它,那么您可以使用流。@harvadu:您是对的,我不够明确。这就是我想做的。由于file upload HTML元素不保持文件上传,因此我需要一个临时存储来保持图像上传。这就是为什么我将这些文件保存到“Conte/Photos”位置,以便向用户显示它们。一旦用户决定保存,我需要将它们保存到数据库并清除临时存储。让我问你另一个问题,以了解更多信息。由于您处理FileInfo的方式,我应该说FileInfo与HttpPostedFileBase具有相同的性质吗?不,它们有不同的用途。FileInfo“提供用于创建、复制、删除、移动和打开文件的属性和实例方法,并帮助创建FileStream对象。”,但HttpPostedFileBase是一个围绕从web上传的二进制数据的包装器——“封装了HTTP内在对象,该对象提供对客户端上传的单个文件的访问。”不过,它们有两个共同点。