我們正在將文件存儲爲mysql中的文件名也是。也就是 上傳它的工作正常。現在我們想要從gridview 下載它,這也是完美的。但問題是,在我們嘗試打開它時,下載了 後顯示文件格式錯誤。我們只處理辦公文檔和pdf只有 。使用Aspx從Mysql下載BLOB文件
try
{
int did = Convert.ToInt32(e.CommandArgument);
DataSet path = download.GetresourcePath(did);
byte[] fileFromDatabase = null;
DataRow row = path.Tables[0].Rows[0];
fileFromDatabase = (byte[])row["UPLFILE"];
string filename = (string)row["FILENAME"];
if (fileFromDatabase.Length > 0)
{
Response.Clear();
Response.Buffer = true;
Response.ContentType = string.Format("application/{0}",
Path.GetExtension(filename).Substring(1));
Response.AddHeader("content-disposition",
string.Format("attachment;filename={0}", filename));
Response.BinaryWrite(fileFromDatabase);
Response.Flush();
Response.End();
}
}
catch (Exception)
{
return;
}
- 在這裏所做的是我們得到它從網格視圖文件的ID。
- filename是我們從數據庫中獲得的文件的名稱。
- fileFromDatabase是Mysql的BLOB文件,我們將它轉換爲Byte。
所以,任何人都可以告訴我我做錯了什麼?
文件大小最大爲4MB。你可以告訴我爲什麼它顯示文件格式錯誤。 – Aaraadhana