/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Binært output virker kun i IE
Fra : Troels Jensen


Dato : 17-11-04 18:44

Jeg har nogle billeder liggende på en sti i en beskyttet mappe
(_private). Hvis man har indtastet korrekt password, skal man kunne se
billederne i en fil: visfoto.asp?file=...osv

I visfoto.asp bruger jeg AspImage til at vise billedfilen:

----

FileName = Request.QueryString("file")
FilePath = Server.MapPath("/") & FileName

Set MyImage = Server.CreateObject("AspImage.Image")
MyImage.LoadImage filepath
Response.BinaryWrite MyImage.Image

MyImage.close
Set MyImage = Nothing

----

Det virker fint - i IE. Firefox og Opera viser kun den binære kode (en
masse uforståeligt krimskrams).

Hvordan får jeg det til at virke i alle browsere?

P.S.: Opera viser faktisk en VBScript-fejl:

Microsoft VBScript runtime error '800a01b6'
Object doesn't support this property or method: 'MyImage.close'
/da/billeder/visfoto.asp, line 24

Hvordan #!¤*?/ kan det være, at kun én af browserne viser en fejl, mens
IE viser billedet korrekt? Fejlen er jo genereret, *inden* outputtet
bliver sendt til klienten. Så hvis der var en fejl i mit script, burde
ingen af browserne vel vise billedet?

--
Mvh.

Troels Jensen
http://www.troelsweb.dk

 
 
Allan (17-11-2004)
Kommentar
Fra : Allan


Dato : 17-11-04 19:41

> Jeg har nogle billeder liggende på en sti i en beskyttet mappe
> (_private). Hvis man har indtastet korrekt password, skal man kunne se
> billederne i en fil: visfoto.asp?file=...osv
>
> FileName = Request.QueryString("file")
> FilePath = Server.MapPath("/") & FileName
>
> Set MyImage = Server.CreateObject("AspImage.Image")
> MyImage.LoadImage filepath
> Response.BinaryWrite MyImage.Image
>
> MyImage.close
> Set MyImage = Nothing
>
> Det virker fint - i IE. Firefox og Opera viser kun den binære kode (en
> masse uforståeligt krimskrams).
>
> P.S.: Opera viser faktisk en VBScript-fejl:
> Microsoft VBScript runtime error '800a01b6'
> Object doesn't support this property or method: 'MyImage.close'
> /da/billeder/visfoto.asp, line 24
>
> http://www.troelsweb.dk

Jeg benytter nedenstående asp-script til at hente mine billeder ovenfor
root, og det virker i IE og FireFox.

<%
' Denne asp skal kaldes således:
' visfoto.asp?filnavn=[navnet på fotofilen uden extension]&type=[her kan
stå enten jpg eller gif]
Dim objStream
Set objStream = Server.CreateObject("ADODB.Stream")

objStream.Type = 1 ' Her sætter vi at det er en binær fil
objStream.Open

'Her angives stien til mappen hvor billederne ligger. De kan godt ligge
ovenfor sitet.
objStream.LoadFromFile "c:\inetpub\sexy.lir.dk\image\01\" &
Request.Querystring("filnavn") & "." & Request.Querystring("type")

' Her angives typen på filen
Response.ContentType = "image/" & Request.Querystring("type")
Response.BinaryWrite objStream.Read

objStream.Close
Set objStream = Nothing
%>

Mvh Allan



Troels Jensen (17-11-2004)
Kommentar
Fra : Troels Jensen


Dato : 17-11-04 23:20

Allan wrote in dk.edb.internet.webdesign.serverside.asp:

> Jeg benytter nedenstående asp-script til at hente mine billeder ovenfor
> root, og det virker i IE og FireFox.

<SNIP kode>

Mange tak, det virker også for mig. Nu opstår der et andet problem:

- Firefox viser billedet, men man kan ikke gemme billedet som en
billedfil. Den gemmer det binære output i stedet.

- IE downloader billedet og viser det i Windows' pictureviewer.

Jeg vil gerne have vist billedet som normalt, også så man kan gemme det
uden at være programmør. Hvordan kan jeg det?

--
Mvh.

Troels Jensen
http://www.troelsweb.dk

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408928
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste