将文件以二进制的形式保存到数据库中

主要应用HttpPostedFile类的InputStream属性、Stream类的read方法和Byte数据类型。首先获取上传数据文件的名称、大小和类型,建立一个访问客户端上传文件的对象HttpPostedFile和一个数据流对象Stream,然后使用数据流Stream对象将上传文件以二进制形式的数据写入Byte类型的数组中,最后将二进制数据保存的数据库中。

代码:
try
        {
            if (this.FileUpload1.PostedFile.FileName != "")
            {
                string ImgPath = FileUpload1.PostedFile.FileName;
                string ImgName = ImgPath.Substring(ImgPath.LastIndexOf("\\") + 1);
                string ImgExtend = ImgPath.Substring(ImgPath.LastIndexOf(".") + 1);
                int FileLen = this.FileUpload1.PostedFile.ContentLength;
                Byte[] FileData = new Byte[FileLen];
                HttpPostedFile hp = FileUpload1.PostedFile;//创建访问客户端上传文件的对象
                Stream sr = hp.InputStream;//创建数据流对象
                sr.Read(FileData, 0, FileLen);
                SqlConnection con = new SqlConnection("server=(local);user id=sa;pwd=sa;database=data");
                con.Open();
                SqlCommand com = new SqlCommand("INSERT INTO table (name) VALUES (@imgdata)", con);
                com.Parameters.Add("@imgdata", SqlDbType.Image);
                com.Parameters["@imgdata"].Value = FileData;
                com.ExecuteNonQuery();
                Label3.Text = "保存成功!";
            }
            else
            {
                Label3.Text = "请选择文件!";
            }
        }
        catch (Exception error)
        {
            Label3.Text = "处理失败!原因为:" + error.ToString();
        }

将文件以二进制的形式保存到数据库中,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。