Toon posts:

[ASP] Checken op voltooide download

Pagina: 1
Acties:

Verwijderd

Topicstarter
Is het mogelijk om met een asp script te checken of de download van een bepaalde file goed gelukt is.

Geeft de webserver dat ergens aan als bv een user de download cancelt??
(Win2K IIS5)

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:44

gorgi_19

Kruimeltjes zijn weer op :9

Volgens mij niet, of je moet hier een ActiveX-object voor schrijven.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Peetman
  • Registratie: Oktober 2001
  • Laatst online: 15:35

Peetman

Tjah....

Er zijn volgens mij wel standaard componenten voor te krijgen, deze componenten werken dan wel client-side, en zullen de grootte van het filetje wat is binnengehaald vergelijken met de grootte die binnengehaald moet worden.

Kijk bijvoorbeeld even op 15 seconds en aspobjects

  • MrBrown
  • Registratie: Augustus 2000
  • Laatst online: 11-06 15:51

MrBrown

Reservoir Dog

Is het niet mogelijk je download via een binarywrite te laten verlopen?!? (Dus dat de pagina de te downloaden file leest en weer schrijft naar de browser)? Zit je wel met het probleem dat je save naam clientside een beetje gek is denk ik.... Maar als dat kan kan je misschien na je binarywrite een redirect kunnen doen ofzo..

Geen idee of dit kan hoor, zeg ook maar wat.... :P

Powered by Manetti (compiled by Jura)


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Wat mrbrown zegt zou kunnen, de file inlezen en naar de browser uitschrijven en zolang de browser door blijft lezen wordt je file gedownload.

Vervolgens moet je checken dat dat browser nog niet gedisconnect is etc etc.
Hoe in asp? Ik zou het niet weten :P In php lukt me dat wel ;)

  • MrBrown
  • Registratie: Augustus 2000
  • Laatst online: 11-06 15:51

MrBrown

Reservoir Dog

Ik heb net zelf even zitten proberen met de volgende code (download.asp):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<%@ Language=VBScript %>
<%
Response.Clear
Response.ContentType = "application/zip"
Function getBinaryFile(strFilePath) 

  Dim TypeBinary, oStream 
  
  
  TypeBinary = 1
  
  Set oStream = Server.CreateObject("ADODB.Stream") 
  
  oStream.Open 
  
  oStream.Type = TypeBinary 
  oStream.LoadFromFile strFilePath 
  
  
  getBinaryFile = oStream.read 
  
  Set oStream = Nothing 

End Function

Response.BinaryWrite getBinaryFile(Server.MapPath("test.zip"))

Response.Redirect "http://www.tweakers.net"
%>


Maar nu redirect ie meteen, dus geen download. Als je de redirectregel eruit haalt start de download wel trouwens, maar vraagt IE wel om het "download.asp" op te slaan. Maar misschien dat je met dit idee even kan gaan vogelen..... ;)

Powered by Manetti (compiled by Jura)


Verwijderd

Topicstarter
Ik kan helaas geen binarywrite gebruiken. Ik heb dit geprobeert alleen liep tegen het probleem aan dat dit aan de server kant veel te traag loopt als er tegelijk grote bestanden worden gedownload.

Het is op onze server mogelijk dat 4 users tegelijk een pakket tussen de 10 en 200 mb moeten downloaden. Tot 100 mb ging dit ongeveer goed maar hoger was het niet meer te vertrouwen.

Nu wordt via een speciaal component het pakket in een tijdelijke download dir geschreven en doet het asp script een redirect naar die file in die temp download dir.

Het wordt dus een "normale" download. Bij die download zou ik willen weten of die gelukt is of niet.

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 13:54

Crazy D

I think we should take a look.

Oef.. dat wordt dan denk ik een isapi filter, of live je logfile parsen.
In een script kun je volgens mij met IsClientConnected checken of de client nog connected is (ja duh...), nooit gebruikt trouwens.
Maar van een gewone file...

Is een file die gedownload wordt in gebruik tijdens het downloaden? dan zou je een progje kunnen maken die eens in de zoveel tijd de files delete die niet in gebruik zijn.
Anders moet je denk ik creatief met databases worden ;) Wegschrijven hoelaat een bepaalde file naar de downloaddir is gegaan, en eens in de zoveel tijd die download dir opruimen. Helemaal safe is dat niet trouwens...

Exact expert nodig?


  • porn*
  • Registratie: Januari 2001
  • Laatst online: 26-08 13:24

porn*

...take on the world!

Via ASP down-/uploaden schiet sowieso niet op, grotere bestanden duren extreem lang en soms heb je last van timeouts, althans dat is mijn ervaring. Er zijn een aantal free- en shareware componentjes die dit voor je doen, en anders zou ik idd zoals al geopperd met een ActiveX object aan de slag gaan. Niet zo moeilijk te maken, maar kost wel weer effe wat tijd.

Bnet pindle#2913


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op 01 oktober 2002 @ 12:05:
Ik kan helaas geen binarywrite gebruiken. Ik heb dit geprobeert alleen liep tegen het probleem aan dat dit aan de server kant veel te traag loopt als er tegelijk grote bestanden worden gedownload.

Het is op onze server mogelijk dat 4 users tegelijk een pakket tussen de 10 en 200 mb moeten downloaden. Tot 100 mb ging dit ongeveer goed maar hoger was het niet meer te vertrouwen.
100 Mb?

Hmm is het niet verstandig om een FTP te installeren? HTTP is niet echt bedoeld voor het versturen van zulke grootte bestand.
Nu wordt via een speciaal component het pakket in een tijdelijke download dir geschreven en doet het asp script een redirect naar die file in die temp download dir.

Het wordt dus een "normale" download. Bij die download zou ik willen weten of die gelukt is of niet.
Is daar een speciale reden voor? Nu moet dus eerst 200 Mb even worden gecopieerd worden. Heb je dat wel een thuis gedaan? Systeem wordt traag! Dus misschien moet je gaan denken over een andere mogelijkheid?

Programmer - an organism that turns coffee into software.


  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Je zou aan download url een id kunnen toevoegen, vervolgens zou je misschien iets kunnen schrijven wat je access log checkt op die specifieke download, in je access log houd ie volgens mij wel bij of iets helemaal aangekomen is of niet.
Pagina: 1