webForumDet fria alternativet

Hämta fil och lagra fil med XMLHTTP eller ServerXMLHTTP?

ASP

3 svar · 566 visningar · startad av tedix

Medlem sedan apr. 20062 inlägg
Frågan#1

Hej,

Jag har ett, som jag tror för många enkelt, problem. Följande vill jag åstadkomma, men jag kommer inte riktigt hela vägen...

  1. På min egen server vill jag köra ett ASP-script.

  2. Scriptet ska hämta en bildfil på annan server (*.jpg eller *.gif).

  3. Den hämtade bildfilen skall lagras i en katalog xyz på den egna servern.

Denna procedur är, efter en del googling och diverse sökning på detta forum, en mkt enkel operation, men... jag kommer inte i mål.

När jag kör scriptet på servern så går det igenom som successful, men jag ser inte att filen lagrats på servern. :( Eftersom jag inte får några felkoder så vet jag inte vilket problem jag ska lösa.

All hjälp mottages tacksamt!

mvh Tedi

PS. Här nedan är koden jag försöker köra. Jag vill inte påstå att jag förstår alla delar i koden som hanterar skrivningen av "output", men koden är intakt med vad jag hittat på nätet.

<%
cURL = "http://www.dn.se/content/1/c6/53/71/80/jubeletta445.jpg"
cOUT = "skrivbarkatalog/jubeletta445.jpg"

Function Fetch(xURL,xOUT)

	On Error Resume Next

	Err.Clear

	Dim b

	With CreateObject("MSXML2.ServerXMLHTTP")
			.Open "GET", xURL, False
			.Send
	b = .ResponseBody
			If Err.Number <> 0 Or .Status <> 200 Then
				Fetch = False
				Exit Function
			End If
	End With

	With CreateObject("ADODB.Stream")
		.Type = 1
		.Open
		.Write b
		.SaveToFile xOUT,2
	End With

	Fetch = Err.Number = 0

End Function
%>
Medlem sedan juni 200032 967 inlägg
#2

Till att börja med: ta bort on error resume next, så du får veta om du får ett felmeddelande.

(och välkommen till wF ska du såklart vara! :) )

Medlem sedan juni 200032 967 inlägg
#3

...eftersom jag inte har nåt bättre för mig...

... så var jag ju tvungen att testa. =)

Det fungerar ju nästan. Två saker.

  1. Sökvägen där du ska spara bilden måste vara fysisk, inte relativ. Du kan använda Server.mappath för att få en fysisk sökväg av en relativ.
cOUT = Server.Mappath("skrivbarkatalog/jubeletta445.jpg")
  1. I koden du visar kallar du aldrig på funktionen. Om du inte gör det kommer ju inte koden att exekveras, och då får du ju ingen fil.
bOK = Fetch (cURL, cOUT)

Med dessa förändringar fungerar koden finfint för mig.

mvh

Medlem sedan apr. 20062 inlägg
#4

Hej @nders!

Tack för välkomnandet!

Att du lyckats låter mkt lovande!!!

Steg 2 upptäckte jag själv precis efter att jag skickat inlägget, men dina andra tips ska jag prova. När man snor kod på nätet så är det tydligen inte allt man förstår. :)

mvh och tack, tedix

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)