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

 话不多说,直接上代码

 

 <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>");
        }

 

posted @ 2016-03-20 18:27  张三的编码生活  阅读(1223)  评论(0编辑  收藏  举报