Avatar billede zicko Nybegynder
24. januar 2003 - 11:57 Der er 10 kommentarer og
1 løsning

FSO GetFile som JPG ?

Jeg prøver på at læse et billede (JPG) ind som en ASP fil og har prøvet lidt forskelligt, i Internet Explorer får jeg bare en Fejl 500 / intern server fejl.. og i Netscape får jeg denne her:

"The image “picture.asp” cannot be displayed, because it contains errors."

Det her er koden jeg har haft rodet med:


<% option explicit

Const ForReading = 1, ForWriting = 2, ForAppending = 8

dim fso,file,stream
set fso=Server.CreateObject("Scripting.FileSystemObject")
set file=fso.GetFile(Server.Mappath("Image.jpg"))
set stream=file.OpenAsTextStream(ForReading, -2)

Response.ContentType="image/jpg"

Response.Write(stream.readall)

set file=nothing
set fso=nothing
set stream=nothing
%>
Avatar billede eagleeye Praktikant
24. januar 2003 - 12:23 #1
Prøv med BinaryWrite:

Response.BinaryWrite(stream.readall)
Avatar billede zicko Nybegynder
24. januar 2003 - 12:31 #2
Virker heller ikke, det giver den samme fejl :(
Avatar billede eagleeye Praktikant
24. januar 2003 - 12:34 #3
Har du skrevet -2 eller er det en fejl???

Prøv med dette for at kunne læse filen:
set stream=file.OpenAsTextStream(ForReading, 1)
Avatar billede eagleeye Praktikant
24. januar 2003 - 12:37 #4
arh ja det skal vist være -2 så...
Avatar billede zicko Nybegynder
24. januar 2003 - 12:37 #5
Nej det er ikke en fejl..
Avatar billede eagleeye Praktikant
24. januar 2003 - 12:43 #6
Dette styk kode har jeg haft til at virker...:


<%
FileName = "Image.jpg"
Response.ContentType = "image/jpeg"
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Open
Stream.LoadFromFile Server.MapPath(FileName)
Contents = Stream.ReadText
Response.BinaryWrite Contents
Stream.Close
Set Stream = Nothing
%>
Avatar billede zicko Nybegynder
24. januar 2003 - 12:53 #7
Det virker tilsyneladende hvis filen ligger i samme dir som ASP filen, men så snart man skriver en sti (d:\billeder\image.jpg) så virker det ikke, hvordan kan det være?
Avatar billede cesil Nybegynder
24. januar 2003 - 13:01 #8
prøv
("d:\billeder\image.jpg")
Avatar billede zicko Nybegynder
24. januar 2003 - 13:03 #9
hvordan ?

lige nu står det sådan:

<%
FileName = "d:\billeder\Image.jpg"
Response.ContentType = "image/jpeg"
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Open
Stream.LoadFromFile Server.MapPath(FileName)
Contents = Stream.ReadText
Response.BinaryWrite Contents
Stream.Close
Set Stream = Nothing
%>
Avatar billede eagleeye Praktikant
24. januar 2003 - 14:21 #10
Hvis du angiver stien så skal der ikke være server.mappath i denne linie:

Stream.LoadFromFile Server.MapPath(FileName)

Til:
Stream.LoadFromFile FileName
Avatar billede zicko Nybegynder
24. januar 2003 - 15:35 #11
Jeps! det var jo lige det jeg skulle bruge! :D

Tusind tak for hjælpen, du har fortjent hvert et point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester