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

Posted 张三的编码生活

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.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>");
        }

 

以上是关于.net上传图片并转成二进制流的主要内容,如果未能解决你的问题,请参考以下文章

jsp将图片等文件上传到服务器根目录下,读取二进制流存入mysql?怎么样实现?

umeditor实现ctrl+v粘贴word图片并上传

微信小程序上传图片并转化为base64格式

asp.net怎么将图片上传到sql2005里,然后显示在网页里做成变换的新闻图片

百度UEditor实现WORD粘贴公式自动上传

Java中如何把图片转换成二进制流