Opening MS WORD document from database

S

Simon

I'm simplying trying to download and and open word documents that are stored
in the database. I figured out how to uploaded the documents as Byte, but I
can't figure out how to get them back out properly. The following code is
what I've tried (vb.NET)... It goes as far as asking me to Save/Open the
file, but when I do, the contents of the documents is the webage that the
download link was on! I'm fairly new to programming/web development, so i'm
not totally sure what i'm doing. I hope i've included enough information.

Thanks in advance!

Simon

--- VB.NET code ---

Public Sub DownloadFile(ByVal File_Id As Integer)
Dim dr As SqlDataReader
Try
Me.OpenConnection(ConfigurationSettings.AppSettings("MD_Runs_Connection_String"))

Dim sqlCmd As New SqlCommand("usp_files_s_by_file_id", sqlConn)
sqlCmd.CommandType = CommandType.StoredProcedure
sqlCmd.Parameters.Add(New SqlParameter("@file_id", File_Id))

dr = sqlCmd.ExecuteReader()

Do While dr.Read
Dim file() As Byte = CType(dr.Item("fileData"), Byte())
memStream.Write(file, 0, file.Length)
Loop

memStream.Flush()
ContentType = dr.Item("Application/octet-stream")

Catch
Throw
Finally
dr.Close()
Me.CloseConnection()
End Try
End Sub
 
G

Guest

I'm a C# programmer...so bare with it.
you would need to put that byte[] into the Response.OutputStream.
so..
Response.OutputStream.Write(byte[],0,the length);

along with the Response.ContentType set correctly, the browser will be able
to handle it as a word file.

Response.OutputStream will essentially turn your aspx file into a doc
file...so the wordopener.aspx when you browse it...it'll be treated as a doc
file...so nothing in the html tags would matter, as you won't see them.

and when you're finished...end with Response.End
 
S

Simon

Thanks for the tips! I was about to try it out, but got a Configuration
Error this morning, with "Interop.Microsoft.Office.Core" =( Thanks for
your quick response though.

Simon

Jason Chu said:
I'm a C# programmer...so bare with it.
you would need to put that byte[] into the Response.OutputStream.
so..
Response.OutputStream.Write(byte[],0,the length);

along with the Response.ContentType set correctly, the browser will be
able
to handle it as a word file.

Response.OutputStream will essentially turn your aspx file into a doc
file...so the wordopener.aspx when you browse it...it'll be treated as a
doc
file...so nothing in the html tags would matter, as you won't see them.

and when you're finished...end with Response.End


Simon said:
I'm simplying trying to download and and open word documents that are
stored
in the database. I figured out how to uploaded the documents as Byte,
but I
can't figure out how to get them back out properly. The following code
is
what I've tried (vb.NET)... It goes as far as asking me to Save/Open the
file, but when I do, the contents of the documents is the webage that the
download link was on! I'm fairly new to programming/web development, so
i'm
not totally sure what i'm doing. I hope i've included enough
information.

Thanks in advance!

Simon

--- VB.NET code ---

Public Sub DownloadFile(ByVal File_Id As Integer)
Dim dr As SqlDataReader
Try

Me.OpenConnection(ConfigurationSettings.AppSettings("MD_Runs_Connection_String"))

Dim sqlCmd As New SqlCommand("usp_files_s_by_file_id",
sqlConn)
sqlCmd.CommandType = CommandType.StoredProcedure
sqlCmd.Parameters.Add(New SqlParameter("@file_id", File_Id))

dr = sqlCmd.ExecuteReader()

Do While dr.Read
Dim file() As Byte = CType(dr.Item("fileData"), Byte())
memStream.Write(file, 0, file.Length)
Loop

memStream.Flush()
ContentType = dr.Item("Application/octet-stream")

Catch
Throw
Finally
dr.Close()
Me.CloseConnection()
End Try
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top