Toon posts:

Ole object uit access db ophalen mbv ASP

Pagina: 1
Acties:
  • 173 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik wil graag een word .doc uit mijn database halen mbv ASP.
Maar ik krijg alleen binary code op mijn scherm. Sterker nog als ik mijn link aan klik dan krijg je eerst "Openen" & "Opslaan" schermpje (okey das normaal), maar daarna krijg een schermpie die vraagt in welk formaat ik de file wil converteren.

Zeg ik word 2.x dan krijg ik bagger teksten.

MIJN CODE:

<%@LANGUAGE="VBSCRIPT"%>
<% Response.ContentType = "application/msword" %>

<html>
<head><title>Notule</title></head>
<body>
<%

Dim oConn
Dim oRs
Dim filePath
Dim Index
Dim sqlString
Dim objWord
Dim Doc


filePath = Server.MapPath(mijnpad)
sqlString = "SELECT * FROM T2Notules WHERE NotuleId = " & Request("NotId") & ";"

set oConn = Server.Createobject("ADODB.Connection")
set oRs = Server.Createobject("ADODB.Recordset")
oConn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
oRs.open sqlString, oConn, 3, 3


Response.Expires = 0
Response.Buffer = True
Response.Clear

Response.ContentType = "application/vnd.ms-word"
Response.AddHeader "content-disposition", "inline; filename=notule (" & oRs.Fields("Datum").Value &").doc"

Response.BinaryWrite (oRs.Fields("Notule").GetChunk(oRs.Fields("Notule").ActualSize))
Response.BinaryWrite (oRs.Fields("Notule").Value)
Response.End

oRs.Close
Set oRs = Nothing

oConn.Close
Set oConn = Nothing
%>
</body>
</html>

Ook als ik kies voor het opslaan van mijn .doc en later via word open dan moet ik eerst de bagger binary code converteren. om vervolgens nog steeds bagger tekst over te houden.

Ik denk dat het aan de datasoort ole object in mijn access-tabel ligt.

Kan iemand mij helpen; Ben gek aan het worden;

Mensen alvast erg bedankt,

  • xtra
  • Registratie: November 2001
  • Laatst online: 13-08 11:30
Je zegt Response.ContentType = "application/msword" en begint vervolgens met <html>.
Om te beginnen moet je alleen de binaire code naar de browser sturen. Verder niets.

Verwijderd

Topicstarter
heb ik ook gedaan;
Eerst weer openen&opslaan daarna "bestand converteren";
Daarna krijg ik gewoon weer de binarycode op mijn scherm;

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 14:17

TeeDee

CQB 241

Totaal nul komma nul html + ander soortige output sturen.
Dus ook geen response.write "bla" oid!
2 x response.contenttype ook niet dus!

[ Voor 22% gewijzigd door TeeDee op 25-04-2003 16:55 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
Ik heb nu deze code:

<%
Dim oConn
Dim oRs
Dim filePath
Dim Index
Dim sqlString
Dim objWord
Dim Doc


filePath = Server.MapPath("mijnpad")
sqlString = "SELECT * FROM T2Notules WHERE NotuleId = " & Request("NotId") & ";"

set oConn = Server.Createobject("ADODB.Connection")
set oRs = Server.Createobject("ADODB.Recordset")
oConn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
oRs.open sqlString, oConn, 3, 3


'Response.Expires = 0
'Response.Buffer = True
'Response.Clear

'Response.AddHeader "content-disposition", "inline; filename=notule (" & oRs.Fields("Datum").Value &").doc"

Response.BinaryWrite (oRs.Fields("Notule").GetChunk(oRs.Fields("Notule").ActualSize))
Response.End

oRs.Close
Set oRs = Nothing

oConn.Close
Set oConn = Nothing
%>


Maar heb nu geen openen&opslaan scherm en ook niet "Bestand converteren" --> das al erg mooi!!! (THNX)
Maar wat ik nog steeds op scherm krijg is nog steeds onzin (- ÿÿÿÿDocumentWord.Document.8Word.Document.8ˆÐÏࡱá>þÿ þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)

Ik denk dat ik mijn ole-objecten (msword) niet normaal uit mijn access db kan krijgen.
Kan dat kloppen of is het jullie wel gelukt.

ALvast bedankt!

[ Voor 11% gewijzigd door Verwijderd op 25-04-2003 17:15 ]


  • xtra
  • Registratie: November 2001
  • Laatst online: 13-08 11:30
Kijk, dat gaat er al op lijken.
Je hebt nu overal content type weggehaald zo te zien. Maar hij moet er één keer in staan. Anders snapt je browser het niet.

Als het dan nog mis gaat:
Ik weet niet hoe je je documenten in de database hebt gezet, maar ik kan me voorstellen dat een OLE-object van een Word document iets anders is dan puur een Word document.

Verwijderd

Topicstarter
okey heb ik er nu weer bij gezet.
maar heb nu weer de schermpjes dus ook het converteren.

Ennuh dus weer de rare teksten er doorheen.

Ik heb mijn docs met dubbelklikken in mijn tabel erin gezet;

Of weten jullie een beter manier om word documenten beveiligd( achter een login scherm).
op het scherm te projecteren?

alvast thnx

  • xtra
  • Registratie: November 2001
  • Laatst online: 13-08 11:30
Waarschijnlijk werkt het wel als je de Word documenten ook via ASP (ADO) in de database plaatst. Ik weet niet hoe je vanuit Access anders die velden moet vullen.

Een andere methode is de beveiliging die de webserver zelf biedt. In IIS rechten op de map/bestanden instellen en met Apache htaccess etc.

Verwijderd

Wat je kan doen is via een "file upload" je word documenten in de database zetten en ze hierna weer uitlezen met hetzelfde component dit zou moeten werken.

hier een voorbeeld zonder dat je een speciaal component moet installeren.
http://www.asp101.com/articles/jacob/scriptupload.asp

hier nog een handige pagina
http://www.4guysfromrolla.com/webtech/LearnMore/Upload.asp

En anders moet je gewoon een directory uitlezen en deze verder goed beveiligen.

[ Voor 22% gewijzigd door Verwijderd op 25-04-2003 20:18 ]


Verwijderd

Topicstarter
Weet je dan hoe ik op een server directories goed kan beveiligen;

Want ik moet er zeker van zijn dat mensen niet zonder dat ze ingelogd zijn doc's kunnen downloaden of uploaden!!

Thnx mensen

Verwijderd

Topicstarter
KICK })

Weet iemand antwoord op mijn vraag

Verwijderd

Topicstarter
Is het veilig genoeg om alleen een pad in mijn database te zetten;

en dan op een of ander manier(welke manier?) de directory beveiligen!

Thnx

  • xtra
  • Registratie: November 2001
  • Laatst online: 13-08 11:30
Verwijderd schreef op 02 May 2003 @ 13:47:
Is het veilig genoeg om alleen een pad in mijn database te zetten;

en dan op een of ander manier(welke manier?) de directory beveiligen!

Thnx
Dat is inderdaad veilig genoeg in de meeste gevallen.
Het beveiligen van een directory in IIS is redelijk eenvoudig. Bij de eigenschappen bij "directory security" anonymous access uitzetten en aan de map de juiste rechten toekennen. Als je wat basiskennis hebt van NT-beveiliging is dit zo te doen.

Bij andere webservers weet ik het niet. :)

Verwijderd

Topicstarter
Thnx

Ik ga het eens proberen;
Pagina: 1