파일 이름이 mysql에 BLOB로 저장됩니다. 이 정상적으로 업로드되고 있습니다. 이제 우리는 그것을 fron 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