Avatar billede m__kruger Nybegynder
25. august 2004 - 10:52 Der er 6 kommentarer og
1 løsning

Import af remote fil

Hej eksperter.

Jeg har følgende VBscript kode i ASP:

---
set fso  = server.createobject("scripting.filesystemobject")
filepath = ("http://www.domain.dk/billede.jpg")
picfile  = fso.getfile(filepath)
picfile.copy (dst)
---

jeg får en 500-internal error når jeg kører fso.getfile

Skyldes det at det simpelthen ikke er tilladt fra en extern url?

Hvis ja, hvordan kan jeg så kopiere en fil fra en extern url?

evt med en ASPftp activex komponent, hvis sådan en findes?

Nogle forslag?

200 point til bedste svar :)
Avatar billede stoney96 Nybegynder
25. august 2004 - 10:59 #1
Du kan ikke bruge fso til andet end at manipulere filer på den lokale server.
Avatar billede m__kruger Nybegynder
25. august 2004 - 11:01 #2
stoney96, kender du en go (helst gratis) ASPftp component?
Avatar billede eagleeye Praktikant
25. august 2004 - 11:08 #3
Du kan tage kig på denne linje af netvæk komåponenter:
http://activedeveloper.dk/komponenter/default.asp?mode=kategori&id=2

En mulighed er måske AspHTTP:

Set HttpObj = Server.CreateObject("AspHTTP.Conn")
HttpObj.Url = "http://www.myfinancialpage.com/fil.jpg"
strResult = HttpObj.GetURL


Der er også w3Sockets (gratis) et "stort" eksempel:
http://tech.dimac.net/Products/FreeProducts/w3Sockets/Examples/Get.htm
Avatar billede m__kruger Nybegynder
25. august 2004 - 11:35 #4
Eagleeye: Det ser nice ud. specielt w3sockets.

Har du lige et godt forslag til noget kode der henten et billede fra en anden server? :)
Avatar billede eagleeye Praktikant
25. august 2004 - 14:38 #5
Det er godt nok ikke w3sockets men med en MS ting:


<%
  Dim objXMLHTTP, objXml
  Set objXml = Server.CreateObject("Microsoft.XMLHTTP")
 
  objXml.Open "GET", "http://www.domæne.dk/billede.gif", False

  objXml.Send
 
  ' Giv filen et filnavn
  Response.AddHeader "Content-Disposition", "attachment;filename=filnavn.gif"
 
  ' Fortæl browseren hvad for en type filen er
  Response.ContentType = "application/gif"
 
  ' Udskriv billedets indhold til browseren
  Response.BinaryWrite objXml.ResponseBody

  Set objXml = Nothing
%>


Det må være muligt at lave en binaryWrite til en fil med ADODB.Stream for at gemme den som en fil.
Avatar billede eagleeye Praktikant
25. august 2004 - 18:16 #6
Hvis du vil gemme filen på din server gør du sådan her, et kræve du har skrive rettighed i den folder du vil gemme filen :


<%
Dim objXMLHTTP, objXml
Set objXml = Server.CreateObject("Microsoft.XMLHTTP")
 
objXml.Open "GET", "http://www.domæne.dk/billede.gif", False
objXml.Send
 
'Gem filen
Set f = Server.CreateObject("ADODB.Stream")
f.Type = 1
f.Open
f.Write objXml.ResponseBody
f.SaveToFile Server.Mappath("/images/fil.gif", 2
f.Close
 
Set objXml = Nothing
%>
Avatar billede m__kruger Nybegynder
26. august 2004 - 10:17 #7
Mega nice!

Det var jo lige præcis det jeg skulle bruge.

SUPER!
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