webForumDet fria alternativet

Hämta fil från annan server

ASP

4 svar · 563 visningar · startad av Fireh

Medlem sedan jan. 2003173 inlägg
Frågan#1

Hej,
jag hittade ungefär det jag letar efter fast för PHP (här). Nu undrar jag om det finns något smidigt sätt att göra samma i ASP. Genom ett anrop till en extern webbserver skapas ett PDF-dokument i en temp-mapp på den servern. Den filen skulle jag automatiskt vilja spara ner på min webbserver.

Jag har något skript som jag använt tidigare för att ladda upp en fil från en webbsida, kan man modifiera det annars?

Det börjar så här:

Response.Expires=0
Response.Buffer = TRUE
Response.Clear
byteCount = Request.TotalBytes

RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject("Scripting.Dictionary")

BuildUploadRequest RequestBin

contentType = UploadRequest.Item("Bild").Item("ContentType")
filepathname = UploadRequest.Item("Bild").Item("FileName")
Filnamn = Right(filepathname, Len(filepathname) - InStrRev(filepathname, "\"))
Ext = LCase(Right(Filnamn, Len(Filnamn) - InStrRev(Filnamn, ".")))
value = UploadRequest.Item("Bild").Item("Value")

'Create FileSytemObject Component
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

'Create and Write to a File
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(Filnamn))

For i = 1 to LenB(value)
  MyFile.Write chr(AscB(MidB(value,i,1)))
Next

MyFile.Close
Medlem sedan jan. 2003173 inlägg
#2

Kanske skulle poängtera att jag efter anropet till den externa servern får i retur den sökväg till var PDF-dokumentet finns, t.ex. http://www.server.se/temp/123456789.pdf. Så frågan är då om det går att plocka den på något sätt.

Medlem sedan sep. 2003448 inlägg
#3

Nått liknande detta:
http://beta.hjd.se/playground/getimage/
Tar bara bilder just för tillfället men enkelt att modifiera.

Medlem sedan jan. 2003173 inlägg
#4

Funkar ju klockrent - tack så mycket!

Jag tog bort formulär och kontroll av filändelse helt då detta körs automatiskt mot en url som hämtas via ett anrop. Nedan kod räcker för att hämta och spara filen.

Set xmlhttp = CreateObject("Msxml2.SERVERXMLHTTP")
xmlhttp.Open "GET", FileURL, false
xmlhttp.Send(Now)
  
Set adodbStream = CreateObject("ADODB.Stream")
adodbStream.Open 
adodbStream.Type = 1
adodbStream.Write xmlhttp.responseBody
adodbStream.SaveToFile server.MapPath("fil.pdf"), 2
adodbStream.Close
  
Set adodbStream = Nothing
Set xmlhttp = Nothing
Medlem sedan sep. 2003448 inlägg
#5

Var så lite :)

269 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)