je voudrai downloader de gros fichiers, mais qui ne se trouvent pas dans une
sous-arborescence du site (par ex: d:\Fichiers\).
J'ai utilisé l'objet ADODB.Stream pour lire le flux du fichier et le
renvoyer au navigateur. Le seul problème est que lorsque le fichier est
gros (ce qui est mon cas) cette facon de procéder fait énormément ralentir
le serveur, voir même planter car la méthode LoadFromFile de l'objet Stream
lit tout le fichier et effectue tout le traitement avant l'envoi vers le
navigateur client. Je constate également une consommation massive de la
mémoire (environ 4x la taille du fichier original, pour un fichier de 100Mo
imaginez...). De plus le client n'obtient pas la boite lui demandant
d'ouvrir ou de sauvegarder le fichier avant que l'opération complète ne soit
fini. C'est une situation un peu agassante.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ledev
"Christophe HELFER" a écrit dans le message de news: #$
Bonjour,
Bonjour,
je voudrai downloader de gros fichiers, mais qui ne se trouvent pas dans
une
sous-arborescence du site (par ex: d:Fichiers). J'ai utilisé l'objet ADODB.Stream pour lire le flux du fichier et le renvoyer au navigateur. Le seul problème est que lorsque le fichier est gros (ce qui est mon cas) cette facon de procéder fait énormément
ralentir
le serveur, voir même planter car la méthode LoadFromFile de l'objet
Stream
lit tout le fichier et effectue tout le traitement avant l'envoi vers le navigateur client. Je constate également une consommation massive de la mémoire (environ 4x la taille du fichier original, pour un fichier de
100Mo
imaginez...). De plus le client n'obtient pas la boite lui demandant d'ouvrir ou de sauvegarder le fichier avant que l'opération complète ne
soit
fini. C'est une situation un peu agassante.
Quelqu'un aurait-il une idée ?
Crée un repertoire virtuel, nommé par exemple download, qui pointe vers d:Fichiers?
"Christophe HELFER" <christophe.helfer@ires.in2p3.fr> a écrit dans le
message de news: #$ZXAMOaEHA.3352@TK2MSFTNGP12.phx.gbl...
Bonjour,
Bonjour,
je voudrai downloader de gros fichiers, mais qui ne se trouvent pas dans
une
sous-arborescence du site (par ex: d:Fichiers).
J'ai utilisé l'objet ADODB.Stream pour lire le flux du fichier et le
renvoyer au navigateur. Le seul problème est que lorsque le fichier est
gros (ce qui est mon cas) cette facon de procéder fait énormément
ralentir
le serveur, voir même planter car la méthode LoadFromFile de l'objet
Stream
lit tout le fichier et effectue tout le traitement avant l'envoi vers le
navigateur client. Je constate également une consommation massive de la
mémoire (environ 4x la taille du fichier original, pour un fichier de
100Mo
imaginez...). De plus le client n'obtient pas la boite lui demandant
d'ouvrir ou de sauvegarder le fichier avant que l'opération complète ne
soit
fini. C'est une situation un peu agassante.
Quelqu'un aurait-il une idée ?
Crée un repertoire virtuel, nommé par exemple download, qui pointe vers
d:Fichiers?
"Christophe HELFER" a écrit dans le message de news: #$
Bonjour,
Bonjour,
je voudrai downloader de gros fichiers, mais qui ne se trouvent pas dans
une
sous-arborescence du site (par ex: d:Fichiers). J'ai utilisé l'objet ADODB.Stream pour lire le flux du fichier et le renvoyer au navigateur. Le seul problème est que lorsque le fichier est gros (ce qui est mon cas) cette facon de procéder fait énormément
ralentir
le serveur, voir même planter car la méthode LoadFromFile de l'objet
Stream
lit tout le fichier et effectue tout le traitement avant l'envoi vers le navigateur client. Je constate également une consommation massive de la mémoire (environ 4x la taille du fichier original, pour un fichier de
100Mo
imaginez...). De plus le client n'obtient pas la boite lui demandant d'ouvrir ou de sauvegarder le fichier avant que l'opération complète ne
soit
fini. C'est une situation un peu agassante.
Quelqu'un aurait-il une idée ?
Crée un repertoire virtuel, nommé par exemple download, qui pointe vers d:Fichiers?
Christophe HELFER
Je voulais justement éviter de créer un répertoire virtuel, ce répertoire externe change souvent et faire la manip a la main...
J'ai mis le répertoire externe dans une variable d'application et avec cette variable je voudrais concaténer une URL de download (du style file://d:/fichiers/fichier.bmp) . Mais comme dit dans le message précédent, si le fichier n'est pas dans l'arborescence web, cela ne fonctionne pas. Le browser client recherche un fichier sur son disque.
"Ledev" a écrit dans le message de news:%235Y%
"Christophe HELFER" a écrit dans le message de news: #$ > Bonjour,
Bonjour,
> je voudrai downloader de gros fichiers, mais qui ne se trouvent pas dans une > sous-arborescence du site (par ex: d:Fichiers). > J'ai utilisé l'objet ADODB.Stream pour lire le flux du fichier et le > renvoyer au navigateur. Le seul problème est que lorsque le fichier est > gros (ce qui est mon cas) cette facon de procéder fait énormément ralentir > le serveur, voir même planter car la méthode LoadFromFile de l'objet Stream > lit tout le fichier et effectue tout le traitement avant l'envoi vers le > navigateur client. Je constate également une consommation massive de la > mémoire (environ 4x la taille du fichier original, pour un fichier de 100Mo > imaginez...). De plus le client n'obtient pas la boite lui demandant > d'ouvrir ou de sauvegarder le fichier avant que l'opération complète ne soit > fini. C'est une situation un peu agassante. > > Quelqu'un aurait-il une idée ?
Crée un repertoire virtuel, nommé par exemple download, qui pointe vers d:Fichiers?
Je voulais justement éviter de créer un répertoire virtuel, ce répertoire
externe change souvent et faire la manip a la main...
J'ai mis le répertoire externe dans une variable d'application et avec cette
variable je voudrais concaténer une URL de download (du style
file://d:/fichiers/fichier.bmp) . Mais comme dit dans le message précédent,
si le fichier n'est pas dans l'arborescence web, cela ne fonctionne pas. Le
browser client recherche un fichier sur son disque.
"Ledev" <Ledev@freesurf.fr> a écrit dans le message de
news:%235Y%23FmYaEHA.3664@TK2MSFTNGP12.phx.gbl...
"Christophe HELFER" <christophe.helfer@ires.in2p3.fr> a écrit dans le
message de news: #$ZXAMOaEHA.3352@TK2MSFTNGP12.phx.gbl...
> Bonjour,
Bonjour,
> je voudrai downloader de gros fichiers, mais qui ne se trouvent pas dans
une
> sous-arborescence du site (par ex: d:Fichiers).
> J'ai utilisé l'objet ADODB.Stream pour lire le flux du fichier et le
> renvoyer au navigateur. Le seul problème est que lorsque le fichier est
> gros (ce qui est mon cas) cette facon de procéder fait énormément
ralentir
> le serveur, voir même planter car la méthode LoadFromFile de l'objet
Stream
> lit tout le fichier et effectue tout le traitement avant l'envoi vers le
> navigateur client. Je constate également une consommation massive de la
> mémoire (environ 4x la taille du fichier original, pour un fichier de
100Mo
> imaginez...). De plus le client n'obtient pas la boite lui demandant
> d'ouvrir ou de sauvegarder le fichier avant que l'opération complète ne
soit
> fini. C'est une situation un peu agassante.
>
> Quelqu'un aurait-il une idée ?
Crée un repertoire virtuel, nommé par exemple download, qui pointe vers
d:Fichiers?
Je voulais justement éviter de créer un répertoire virtuel, ce répertoire externe change souvent et faire la manip a la main...
J'ai mis le répertoire externe dans une variable d'application et avec cette variable je voudrais concaténer une URL de download (du style file://d:/fichiers/fichier.bmp) . Mais comme dit dans le message précédent, si le fichier n'est pas dans l'arborescence web, cela ne fonctionne pas. Le browser client recherche un fichier sur son disque.
"Ledev" a écrit dans le message de news:%235Y%
"Christophe HELFER" a écrit dans le message de news: #$ > Bonjour,
Bonjour,
> je voudrai downloader de gros fichiers, mais qui ne se trouvent pas dans une > sous-arborescence du site (par ex: d:Fichiers). > J'ai utilisé l'objet ADODB.Stream pour lire le flux du fichier et le > renvoyer au navigateur. Le seul problème est que lorsque le fichier est > gros (ce qui est mon cas) cette facon de procéder fait énormément ralentir > le serveur, voir même planter car la méthode LoadFromFile de l'objet Stream > lit tout le fichier et effectue tout le traitement avant l'envoi vers le > navigateur client. Je constate également une consommation massive de la > mémoire (environ 4x la taille du fichier original, pour un fichier de 100Mo > imaginez...). De plus le client n'obtient pas la boite lui demandant > d'ouvrir ou de sauvegarder le fichier avant que l'opération complète ne soit > fini. C'est une situation un peu agassante. > > Quelqu'un aurait-il une idée ?
Crée un repertoire virtuel, nommé par exemple download, qui pointe vers d:Fichiers?