Hej! Om jag inte minns fel så gnäller därför att du måste ange storleken på PDF filen. Jag hade det problemet för ett tag sedan och jag har för mig att det var det som krånglade. Ojojoj - det såg avancerat ut! >> PS hade tänkt att här göra en snygg länkning till föregående inlägg men - var ser jag numret att länka till???? Ja men så enkelt - egentligen! Fast jag letade ju inte där - så klart! :-) Har nu försökt testa Puttes kod, men eftersom jag inte riktigt vet vad jag gör är det svårt att felsöka...PDF utan klick - igen!
I förra veckan fick jag tips om att använda
<code>
sida = request.form("txtritningsnr")
sida = path & sida & ".pdf"
response.redirect(sida)
</code>
för att kunna öppna en .pdf-fil utan att behöva klicka, d v s endast ange namnet på filen.
Det fungerar bra om man har hela Acrobat installerat, med bara Reader får jag besked om att filen är trasig...
Någon som har en idé om lösning?
/Lissu
PS hade tänkt att här göra en snygg länkning till föregående inlägg men - var ser jag numret att länka till???? Sv: PDF utan klick - igen!
För att du skall kunna få ut storleken på filen så måste du använda FSO. Sedan måste du streama filen med ADODB.stream
<code>
'typ så här
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
'ta fram sökvägen till filen som skall öppas
objStream.LoadFromFile strFilePath
'** ta sedan fram storleken på den med FSO
'strFileSize = 'lite mer kod som du får dra in själv :-)
'ta fram vilken typ av file det är och bestäm Contentype
Select Case strFileType
Case ".asf"
ContentType = "video/x-ms-asf"
Case ".avi"
ContentType = "video/avi"
Case ".doc"
ContentType = "application/msword"
Case ".zip"
ContentType = "application/zip"
Case Else
'** alla andra filer
ContentType = "application/octet-stream"
End Select
Response.AddHeader "Content-Disposition", "attachment; filename=000" & strFileName
Response.AddHeader "Content-Length", strFileSize
Response.Charset = "UTF-8"
Response.ContentType = ContentType
Response.BinaryWrite objStream.Read
Response.Flush
objStream.Close
Set objStream = Nothing
</code>
//PutteSv: PDF utan klick - igen!
Men tack för koden! Ska testas! Hoppas att det funkar... :-)
/LissuSv: PDF utan klick - igen!
Om du tittar i adressfältet på detta inlägget så står det:
http://www.pellesoft.nu/development/forum/view.asp?msgid=66931&forumid=1&sum=1
För att sen länka direkt till detta så använd msgid, alltså [PDF utan klick - igen! ] (fast med ett ! framför)
/FredrikSv: PDF utan klick - igen!
Tack!
/LisbethSv: PDF utan klick - igen!
Jag får detta fel
ADODB.Stream (0x800A0BB9)
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
/ludde/blank.asp, line 15
Min kod
<code>
<%
response.buffer = true
'Här ligger alla .pdf-filer
Const PATH = "./ritningar/"
'Här hämtar vi numret...
sida = request.form("txtritningsnr")
'Här skapar vi rätt sökväg till filen
strSida = path & sida & ".pdf"
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary <-------rad 15
'ta fram sökvägen till filen som skall öppas
objStream.LoadFromFile strSida
'** ta sedan fram storleken på den med FSO
'strFileSize = 'lite mer kod som du får dra in själv :-)
Set FSO = CreateObject("Scriptning.FileSystemObject")
Set F = FSO.GetFile(strSida)
strFileSize = F.Size
'ta fram vilken typ av file det är och bestäm Contentype
Select Case strFileType
Case ".asf"
ContentType = "video/x-ms-asf"
Case ".avi"
ContentType = "video/avi"
Case ".doc"
ContentType = "application/msword"
Case ".zip"
ContentType = "application/zip"
Case Else
'** alla andra filer
ContentType = "application/octet-stream"
End Select
Response.AddHeader "Content-Disposition", "attachment; filename=000" & strFileName
Response.AddHeader "Content-Length", strFileSize
Response.Charset = "UTF-8"
Response.ContentType = ContentType
Response.BinaryWrite objStream.Read
Response.Flush
objStream.Close
Set objStream = Nothing
%>
</code>
Tacksam om någon hinner/orkar tipsa om vad jag ska göra!
/Lisbeth
aka
Lissu