using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.IO; namespace BLL { public class ClsFile { private string _server = string.Empty; private string _database = string.Empty; private string _uid = string.Empty; private string _pwd = string.Empty; private string _sqlConnection = string.Empty; public ClsFile(string server, string database, string uid, string pwd) { _server = server; _database = database; _uid = uid; _pwd = pwd; _sqlConnection = "server=" + _server + ";database=" + _database + ";uid=" + _uid + ";pwd=" + _pwd; } //插入图片(table 表名、fieldName 存储文件字段名、sPath 文件完整路径)【程序上传使用,存入HX_UPDATE】 /// /// /// /// 表名 /// 存储文件字段名 /// 文件名 /// 版本号 /// 文件大小 /// 文件完整路径 /// /// public bool Insert_File(string table, string fieldName, string sName, long sNo, long sSize, string sPath, ref string sErr) { try { SqlConnection con = new SqlConnection(_sqlConnection); con.Open(); byte[] FileList = this.FileToByteArray(sPath); string commandText = @" INSERT INTO " + table + "(" + fieldName + ") " + "VALUES ('" + sName + "'," + sNo.ToString() + ",@FileList," + sSize.ToString() + ")"; SqlCommand comm = new SqlCommand(commandText, con); comm.Parameters.AddWithValue("@FileList", FileList); comm.ExecuteNonQuery(); con.Close(); } catch (Exception e) { sErr = e.Message; return false; } return true; } //插入图片(table 表名、fieldName 存储文件字段名、sPath 文件完整路径) public bool Insert_File(string table, string fieldName,long HInterID,int HEntryID,string sPath, ref string sErr) { try { SqlConnection con = new SqlConnection(_sqlConnection); con.Open(); byte[] FileList = this.FileToByteArray(sPath); string commandText = @" INSERT INTO " + table + "(" + fieldName + ") " + "VALUES (" + HInterID.ToString() + "," + HEntryID.ToString() + ",@FileList,'" + sPath + "')"; SqlCommand comm = new SqlCommand(commandText, con); comm.Parameters.AddWithValue("@FileList", FileList); comm.ExecuteNonQuery(); con.Close(); } catch(Exception e) { sErr = e.Message; return false; } return true; } //把文件转换成byte[] public byte[] FileToByteArray(String FilePath) { FileStream stream = new FileInfo(FilePath).OpenRead(); byte[] buffer = new byte[stream.Length]; stream.Read(buffer, 0, Convert.ToInt32(stream.Length)); return buffer; } //读取 fieldName 该字段中符合条件的所有文件(sql SQL查询语句、fieldName 存储图片字段名) public void Get_File(string sql, string fieldName,string FileName) { List InformatoinCollection = new List(); SqlConnection cn = new SqlConnection(_sqlConnection); cn.Open(); SqlCommand cm = new SqlCommand(sql, cn); SqlDataReader dr = cm.ExecuteReader(); byte[] oFile = null; if (dr.Read()) { oFile = (byte[])dr[fieldName]; } FileStream fs; FileInfo fi = new FileInfo(FileName); fs = fi.OpenWrite(); fs.Write(oFile, 0, oFile.Length); fs.Close(); dr.Close(); cn.Close(); } } }