ASP.NET存取圖片到資料庫
來源:互聯網
上載者:User
private void btnUpload_Click(object sender, System.EventArgs e)
{
//得到使用者要上傳的檔案名稱
string strFilePathName = loFile.PostedFile.FileName;
string strFileName = Path.GetFileName(strFilePathName);
int FileLength = loFile.PostedFile.ContentLength;
if(FileLength<=0)
return;
try
{//上傳檔案
Byte[] FileByteArray = new Byte[FileLength]; //圖象檔案臨時儲存Byte數組
Stream StreamObject = loFile.PostedFile.InputStream; //建立資料流對像
//讀取圖象檔案資料,FileByteArray為資料儲存體,0為資料指標位置、FileLnegth為資料長度
StreamObject.Read(FileByteArray,0,FileLength);
//建立SQL Server連結
string strCon = System.Configuration.ConfigurationSettings.AppSettings["DSN"];
SqlConnection Con = new SqlConnection(strCon);
String SqlCmd = "INSERT INTO ImageStore (ImageData, ImageContentType, ImageDescription, ImageSize) VALUES (@Image, @ContentType, @ImageDescription, @ImageSize)";
SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);
CmdObj.Parameters.Add("@Image",SqlDbType.Binary, FileLength).Value = FileByteArray;
CmdObj.Parameters.Add("@ContentType", SqlDbType.VarChar,50).Value = loFile.PostedFile.ContentType; //記錄檔案類型
//把其它單表資料記錄上傳
CmdObj.Parameters.Add("@ImageDescription", SqlDbType.VarChar,200).Value = tbDescription.Text;
//記錄檔案長度,讀取時使用
CmdObj.Parameters.Add("@ImageSize", SqlDbType.BigInt,8).Value = FileLength;
Con.Open();
CmdObj.ExecuteNonQuery();
Con.Close();
//跳轉頁面
Response.Redirect("ShowAll.aspx");
}
catch
{
}
}