.net上传图片并转成二进制流

时间:2022-11-13 00:01:10

 话不多说,直接上代码

 

 <input id="InputFile" style="width: 399px" type="file" runat="server" />
<asp:Button ID="Button1" runat="server" Text="保存" onclick="Button1_Click" />
<asp:label ID="Label1" runat="server" text="Label"></asp:label>
<asp:Image ID="Image1" runat="server" />
 protected void Button1_Click(object sender, EventArgs e)
{
string fileName = InputFile.PostedFile.FileName;
Boolean fileOK
= false;

if (!string.IsNullOrWhiteSpace(fileName))
{
//判断上传文件的扩展名是否为允许的扩展名".gif", ".png", ".jpeg", ".jpg" ,".bmp"
String fileExtension = System.IO.Path.GetExtension(fileName).ToLower();
String[] Extensions
= { ".gif", ".png", ".jpeg", ".jpg", ".bmp" };
for (int i = 0; i < Extensions.Length; i++)
{
if (fileExtension == Extensions[i])
{
fileOK
= true;
}
}
}
//如果上传文件扩展名为允许的扩展名,则将文件保存在服务器上指定的目录中
if (fileOK)
{
try
{
HttpPostedFile upFile
= InputFile.PostedFile;//HttpPostedFile对象,用来读取上传图片的属性
int fileLength = upFile.ContentLength;//记录文件的长度
byte[] fileBytePicture = new byte[fileLength];//用图片的长度来初始化一个字节数组存储临时的图片文件
Stream fileStream = upFile.InputStream;//建立文件流对象
fileStream.Read(fileBytePicture, 0, fileLength);
string filetext = Convert.ToBase64String(fileBytePicture);
Label1.Text
= filetext;
}
catch (Exception ex)
{
MessageBox(
"文件不能上传,原因:" + ex.Message);

}
}
else
{
MessageBox(
"不能上传这种类型的文件");
}
}
protected void MessageBox(string str)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(),
"message", "<script language='javascript' defer>alert('" + str + "');</script>");
}