ASP.NET存储本地文件到数据库中

来源:百度知道 编辑:UC知道 时间:2024/06/15 06:28:53
上传本地文件到SQL2000数据库中(用text类型)的方法如下:
HttpPostedFile file = HttpContext.Current.Request.Files[0];
Byte[] FileByteArray = new Byte[intFileSize];
Stream StreamObject = file.InputStream;
StreamObject.Read(FileByteArray, 0, intFileSize);
string strData = Convert.ToBase64String(FileByteArray);
然后把strData当作字符串插入到text类型字段中。

但,现在我还得把服务器上已的文件转换成二进制存储到数据库text类型字段中,要怎么做呢?

当然,你这个样程序很容易被SQL注入攻击,
你可以用带参数数的SQL语句,这样你就不用担心数据类型的问题了,而且也可以防止被SQL注入
比如你可以定义string sql = "insert into 表名 values(@字段)";
SqlParameter s = new SqlParameter("@字段", FileByteArray);
SqlCommand cmd = new SqlCommand(sql, conn);//conn为SqlConnection实例对象
cmd.Parameters.Add(s);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
这样就能存入Byte[]数据了

这种专业问题最好上csdn!

http://community.csdn.net/

大侠若云!

个人建议不要把文件储存到数据库里去,你上传文件到服务器,保存文件的路径到数据库,通过取数据库中的文件路径,找到相应的文件,这样可以运行提高效率,减少数据库容量。