[.NET/ASP] Download forceren zonder geheugen gebruik

Pagina: 1
Acties:

  • Blue-eagle
  • Registratie: September 2000
  • Niet online
edit:
Verkeerde forum, PW aub, modjes?


We zijn nu al een paar dagen bezig met een klein probleempje, we willen dat mensen een download link aanklikken in een website en daarna, ongeacht het filetype, een 'download file' scherm krijgen.

Dat is niet zo moeilijk.

Wat wel moeilijk lijkt te zijn is een goede query in Google rammen die mij het antwoord geeft op de volgende vraag:

"Hoe kan ik een bestand naar de gebruiker van een website sturen door middel van een 'download file' scherm, zonder dat dit bestand aan de server kant in het geheugen wordt geladen?"

De bestanden staan namelijk opgeslagen als GUID. Gewoon een GUID als filename. Geen extensie, nada. Deze GUID is gekoppeld aan een record in de database die het bestand zijn originele naam plus extensie heeft opgeslagen (als record dus, niet als BLOB of whatever). Wat we willen doen is dus simpelweg het bestand openen en naar de gebruiker sturen met als filename: zijn oorspronkelijke naam + extensie.

De criteria:
  1. Het bestand mag niet in het geheugen worden geladen;
  2. We willen geen kopie maken van het bestand en deze later weer verwijderen (dit ivm. HDD ruimte, natuurlijk).
Dus, wie helpt mij aan een antwoord? Zowel ASP en ASP.NET zijn oke.

[ Voor 4% gewijzigd door Blue-eagle op 19-01-2005 15:04 ]


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Hoe doe je het nu? Je zet de goede headers neem ik aan?

Oops! Google Chrome could not find www.rijks%20museum.nl


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 15-05 19:36

Pelle

🚴‍♂️

Dit heeft iig niks met W&G te maken :)

  • Blue-eagle
  • Registratie: September 2000
  • Niet online
Hoe ik het nu doe is niet erg relevant, wat ik nu doe is namelijk poging #12 ofzo :) Wat we ook proberen, ASP en .NET zetten allebij het bestand in de server zijn geheugen. Dit willen we niet. Het moet dus gestreamed worden. XmlHTTP lijkt ook niet te werken, maar misschien mis ik een property?

edit:
Dank Pelle!

[ Voor 6% gewijzigd door Blue-eagle op 19-01-2005 15:06 ]


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Ik ga niet al jouw vorige 10 pogingen beschrijven om een werkbare versie te krijgen...

Wat je in mijn ogen moet doen is de headers goed zetten, en redirecten naar het document. Heb je dat al geprobeerd?

Oops! Google Chrome could not find www.rijks%20museum.nl


  • Blue-eagle
  • Registratie: September 2000
  • Niet online
Redirect naar een document geeft compleet nieuwe headers blijkbaar, dan vervallen de oude weer.

M'n collega is nu druk bezig met een streaming scriptje dat het bestand stukje voor stukje inleest en flushed naar de gebruiker, de eerste tests zijn hoopvol - geen memory gebruik :)

  • eghie
  • Registratie: Februari 2002
  • Niet online

eghie

Spoken words!

Blue-eagle schreef op woensdag 19 januari 2005 @ 16:39:
Redirect naar een document geeft compleet nieuwe headers blijkbaar, dan vervallen de oude weer.

M'n collega is nu druk bezig met een streaming scriptje dat het bestand stukje voor stukje inleest en flushed naar de gebruiker, de eerste tests zijn hoopvol - geen memory gebruik :)
Geheugen gebruik zit je zowieso aan. Je hoeft het maar in een stream te stoppen en het verbruikt geheugen.
Pagina: 1