ASP.NET存储本地文件到数据库中
上传本地文件到SQL2000数据库中(用text类型)的方法如下:HttpPostedFilefile=HttpContext.Current.Request.Files...
上传本地文件到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类型字段中,要怎么做呢? 展开
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[]数据了
你可以用带参数数的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[]数据了
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
个人建议不要把文件储存到数据库里去,你上传文件到服务器,保存文件的路径到数据库,通过取数据库中的文件路径,找到相应的文件,这样可以运行提高效率,减少数据库容量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询