D
Dave
I have a small web app that publishes files to a SQL database. I just
noticed this morning that 2 conditions exist that I need help with.
1.) Any file that can be open with NotePad have the HTML for the web
page appended to the document when it's received. Example...
This line was entered in the *.txt file prior to upload. Everything
below this was added when retrieving from SQL.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
Untitled Page
</title>
<link href="App_Themes/j
End Example
Upload Code:
VaultGridView.SelectedIndex = -1;
strConnection =
ConfigurationManager.ConnectionStrings["DocumentVaultConnectionString"].ConnectionString;
dbConn = new SqlConnection(strConnection);
dbConn.Open();
dcmd = new SqlCommand();
dcmd.CommandText = "INSERT INTO [DocumentVault].[dbo].
[tblVault] " +
"([tID] " +
",[FileName] " +
",[Filesize] " +
",[FileData] " +
",[uBy] " +
",[uDate]) " +
"VALUES " +
"(@tID " +
",@FileName " +
",@Filesize " +
",@FileData " +
",@uBy " +
",@uDate)";
dcmd.Parameters.Add(new SqlParameter("tID",
TumblersGridView.SelectedValue));
dcmd.Parameters.Add(new SqlParameter("Filename",
FileUpload1.FileName));
dcmd.Parameters.Add(new SqlParameter("Filesize",
FileUpload1.PostedFile.ContentLength));
dcmd.Parameters.Add(new SqlParameter("FileData",
FileUpload1.FileBytes));
dcmd.Parameters.Add(new SqlParameter("uBy",
Session["UserID"].ToString()));
dcmd.Parameters.Add(new SqlParameter("uDate",
DateTime.Now.Date));
dcmd.Connection = dbConn;
dcmd.ExecuteNonQuery();
VaultGridView.DataBind();
Download Code:
strConnection =
ConfigurationManager.ConnectionStrings["DocumentVaultConnectionString"].ConnectionString;
dbConn = new SqlConnection(strConnection);
dbConn.Open();
dcmd = new SqlCommand();
dcmd.CommandText = "SELECT [FileName], [FileData] " +
"FROM [DocumentVault].[dbo].[tblVault] " +
"WHERE([vID] = @vID)";
dcmd.Parameters.Add(new SqlParameter("vID",
VaultGridView.SelectedValue));
dcmd.Connection = dbConn;
SqlDataReader dr = dcmd.ExecuteReader();
dr.Read();
Response.Clear();
Response.ContentType = "application/x-unknown";
Response.AppendHeader("Content-Disposition",
"attachment; filename=\"" + dr["FileName"] +
"\"");
Response.BinaryWrite((byte[])dr["FileData"]);
dbConn.Close();
VaultGridView.SelectedIndex = -1;
2.) All Office 2007 documents when retrieved open as corrupt.
Everything that I've found so far shows that Response.WriteBinary is
the right directrion. If it's not, I'm sure that there's someone out
there that can give me the right path to take.
Thanks
noticed this morning that 2 conditions exist that I need help with.
1.) Any file that can be open with NotePad have the HTML for the web
page appended to the document when it's received. Example...
This line was entered in the *.txt file prior to upload. Everything
below this was added when retrieving from SQL.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
Untitled Page
</title>
<link href="App_Themes/j
End Example
Upload Code:
VaultGridView.SelectedIndex = -1;
strConnection =
ConfigurationManager.ConnectionStrings["DocumentVaultConnectionString"].ConnectionString;
dbConn = new SqlConnection(strConnection);
dbConn.Open();
dcmd = new SqlCommand();
dcmd.CommandText = "INSERT INTO [DocumentVault].[dbo].
[tblVault] " +
"([tID] " +
",[FileName] " +
",[Filesize] " +
",[FileData] " +
",[uBy] " +
",[uDate]) " +
"VALUES " +
"(@tID " +
",@FileName " +
",@Filesize " +
",@FileData " +
",@uBy " +
",@uDate)";
dcmd.Parameters.Add(new SqlParameter("tID",
TumblersGridView.SelectedValue));
dcmd.Parameters.Add(new SqlParameter("Filename",
FileUpload1.FileName));
dcmd.Parameters.Add(new SqlParameter("Filesize",
FileUpload1.PostedFile.ContentLength));
dcmd.Parameters.Add(new SqlParameter("FileData",
FileUpload1.FileBytes));
dcmd.Parameters.Add(new SqlParameter("uBy",
Session["UserID"].ToString()));
dcmd.Parameters.Add(new SqlParameter("uDate",
DateTime.Now.Date));
dcmd.Connection = dbConn;
dcmd.ExecuteNonQuery();
VaultGridView.DataBind();
Download Code:
strConnection =
ConfigurationManager.ConnectionStrings["DocumentVaultConnectionString"].ConnectionString;
dbConn = new SqlConnection(strConnection);
dbConn.Open();
dcmd = new SqlCommand();
dcmd.CommandText = "SELECT [FileName], [FileData] " +
"FROM [DocumentVault].[dbo].[tblVault] " +
"WHERE([vID] = @vID)";
dcmd.Parameters.Add(new SqlParameter("vID",
VaultGridView.SelectedValue));
dcmd.Connection = dbConn;
SqlDataReader dr = dcmd.ExecuteReader();
dr.Read();
Response.Clear();
Response.ContentType = "application/x-unknown";
Response.AppendHeader("Content-Disposition",
"attachment; filename=\"" + dr["FileName"] +
"\"");
Response.BinaryWrite((byte[])dr["FileData"]);
dbConn.Close();
VaultGridView.SelectedIndex = -1;
2.) All Office 2007 documents when retrieved open as corrupt.
Everything that I've found so far shows that Response.WriteBinary is
the right directrion. If it's not, I'm sure that there's someone out
there that can give me the right path to take.
Thanks