![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks. |
| |||||||
![]() |
| |
| | #1 (permalink) |
| | DOCX FILE CORRUPTED WHEN RETRIEVED FROM SQL2005 Hi, i am uploading a .docx file into sql2005 and later when i retrieve the file from the database and i open it, i get a error message "The file is corrupted and cannot be open". I am not facing this issue when i store and retrieve files of type .doc i am storing the file in a column of datatype image. Here is the code where i insert the file into database. Am sure the code is working. its just not working for .docx protected void Button1_Click(object sender, EventArgs e) { if (FileUpload1.HasFile && FileUpload1.PostedFile != null) { int ilength = Convert.ToInt32(FileUpload1.PostedFile.ContentLength); string content = FileUpload1.PostedFile.ContentType; string file_name = FileUpload1.FileName; Byte[] bytecontent = new Byte[ilength]; con = new SqlConnection(); con.ConnectionString = "Server=W2RZYFV603\\SQLEXPRESS; Database=master; Trusted_Connection=True"; con.Open(); string sql = "insert into files(file_data,name,content_type,file_size)VALUES(@file, @name, @content, @size)"; try { SqlCommand cmd = new SqlCommand(sql, con); FileUpload1.PostedFile.InputStream.Read(bytecontent, 0, FileUpload1.PostedFile.ContentLength); cmd.Parameters.AddWithValue("@file", bytecontent); cmd.Parameters.AddWithValue("@name", file_name); cmd.Parameters.AddWithValue("@content", content); cmd.Parameters.AddWithValue("@size", ilength); int i = cmd.ExecuteNonQuery(); TextBox1.Text = i.ToString(); } catch (Exception ex) { TextBox1.Text = ex.Message; } finally { con.Close(); } } Here is the code to retrieve the data from the database. protected void Page_Load(object sender, EventArgs e) { try { con = new SqlConnection(); con.ConnectionString = "Server=W2RZYFV603\\SQLEXPRESS; Database=master; Trusted_Connection=True"; con.Open(); } catch (Exception ex) { } string qid = "select max(id) from files"; int id; SqlCommand cmd1 = new SqlCommand(qid, con); id = Convert.ToInt32( cmd1.ExecuteScalar()); string query = "select * from files where id="+ id.ToString(); //string query = "select * from images where id=4"; SqlCommand cmd = new SqlCommand(query, con); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { byte[] imagecontent = (byte[])(dr[1]); Response.ContentType = dr[3].ToString(); Response.AddHeader("Content-Disposition", "attachment;filename="+dr[2].ToString()); Context.Response.BinaryWrite(imagecontent); } cmd = null; dr.Close(); con.Close(); } Please let me know as to why is this not working for .docx files. -- SUNNY |
My System Specs![]() |
![]() |
| Thread Tools | |
| |
Similar Threads | ||||
| Thread | Forum | |||
| Can the "now playing" list be retrieved if a file is accedentally opened, losing list | Media Center | |||
| Error file Office 2007 association (docx) | Vista General | |||
| Can't open .docx file. | Vista General | |||
| How to open a docx file from an asp.net application | .NET General | |||
| ASP connection string to SQL2005 | VB Script | |||