C#代碼:使用C#從oracle數據庫顯示pdf文件(pdf路徑存儲在數據庫中)?
HyperLink1.NavigateUrl = "Pdfhandler.ashx?empid=" + TextBox8.Text;
Pdfhandler.ashx代碼:
{
MemoryStream memoryStream = new MemoryStream();
string sql = "SELECT pdfpath FROM pdfstore WHERE empl_code = " + id + "";
OracleCommand cmd = new OracleCommand(sql, connection);
//cmd.Parameters.AddWithValue("@id", id);
connection.Open();
OracleDataReader reader = cmd.ExecuteReader();
reader.Read();
if (reader.HasRows)
{
//byte[] file = Encoding.ASCII.GetBytes("imgpath");
//byte[] file = Encoding.UTF8.GetBytes("imgpath");
//Get Image Data
//byte[] file = (byte[])reader["imgpath"];
byte[] file = File.ReadAllBytes(reader["pdfpath"].ToString());
reader.Close();
connection.Close();
memoryStream.Write(file, 0, file.Length);
context.Response.Buffer = true;
context.Response.BinaryWrite(file);
memoryStream.Dispose();
}
else
{
}
當我運行代碼我可以能夠通過輸入僱員代碼來顯示的PDF爲一個僱員,但如果我進入另一個僱員代碼在文本框中,特定員工的pdf沒有被顯示。任何人都可以解決這個問題嗎?
如果pdfpath只是一個字符串,爲什麼使用ReadAllBytes? – Steve
那我應該用什麼來代替? – user3168680
memorystream有問題嗎?我應該清除它嗎?如果是這樣如何?因爲我可以在某段時間後顯示PDF。 – user3168680