|
Fichiers en téléchargement |
Iniciado por olivier.devillers, 27,sep. 2005 13:09 - 18 respuestas |
| |
| | | |
|
| |
Publicado el 27,septiembre 2005 - 13:09 |
Bonjour,
Sur mon site en WB9 j'ai un espace téléchargements. Tout fonctionne bien avec des fichiers de petite taille (jusqu'à 5mo environ) mais des que je veux mettre en téléchargement des fichiers de taille + importante (15mo ou 40 mo) les internaute ont le message "time out ............"
y a t-il une limitation dans la taille des fichiers téléchargeable ou bien une astuce que je n'ai pas vu dans l'aide ?
merci pour vos réponses |
| |
| |
| | | |
|
| | |
| |
Publicado el 27,septiembre 2005 - 12:31 |
Salut,
J'ai également rencontré ce problème. En fait voila ce qui est noté dans l'aide de WebDev :
Limites
La taille d'un fichier uploadé ne peut dépasser 4 Mo.
Pour modifier cette taille, il est nécessaire de modifier la base de registres sur le serveur.
1. Pour modifier la taille des fichiers uploadés :
pour toutes les applications WebDev 9, sélectionnez la clé : HKEY_LOCAL_MACHINE\SOFTWARE\PC SOFT\WEBDEV\9.0
pour une application WebDev 9, sélectionnez la clé : HKEY_LOCAL_MACHINE\SOFTWARE\PC SOFT\WEBDEV\9.0\Applications\<NomApplication>
2. Ajoutez la chaîne MAX_UPLOAD. Cette chaîne aura pour valeur la taille maximale des fichiers à uploader (en Ko).
J'ai déjà passé du temps à esseyer de trouver une solution pour vérifier la taille du fichier à uploader avant de l'envoyer, mais je n'y suis pas arrivé. A mon avis ça ne dois pas être possible car la focntion ftaille() n'est disponible qu'en code serveur et donc pour pouvoir l'utiliser, il faut que le fichier soit sur le serveur ... |
| |
| |
| | | |
|
| | |
| |
Publicado el 27,septiembre 2005 - 16:13 |
Effectivement tu as raison Seb, la prochaine fois je relierai 2 fois avant de répondre |
| |
| |
| | | |
|
| | |
| |
Publicado el 27,septiembre 2005 - 17:17 |
Salut,
J'ai également rencontré ce problème. En fait voila ce qui est noté dans l'aide de WebDev :
Limites
La taille d'un fichier uploadé ne peut dépasser 4 Mo.
Pour modifier cette taille, il est nécessaire de modifier la base de
registres sur le serveur.
Bonjour, je pense que l'un parle de download et l'autre d'UPLOAD. Dans les deux cas il faut aussi régler le TIMEOUT du serveur Webdev ==> La session se ferme avant que le fichier soit téléchargé Problème : si c'est un serveur mutualisé, le Timeout est réglable par hébergeur pour tous les sites présents sur le serveur.
Sébastien |
| |
| |
| | | |
|
| | |
| |
Publicado el 27,septiembre 2005 - 20:58 |
Merci pour ta réponse. En effet je parle bien de Downloads
Je vais me renseigner auprès de mon hébergeur donc !
"sebNews" <seb@yahoo.fr> a écrit dans le message de news: 43393231$1@news.pcsoft.fr...
Salut,
J'ai également rencontré ce problème. En fait voila ce qui est noté dans l'aide de WebDev :
Limites
La taille d'un fichier uploadé ne peut dépasser 4 Mo.
Pour modifier cette taille, il est nécessaire de modifier la base de registres sur le serveur.
Bonjour, je pense que l'un parle de download et l'autre d'UPLOAD. Dans les deux cas il faut aussi régler le TIMEOUT du serveur Webdev ==> La session se ferme avant que le fichier soit téléchargé Problème : si c'est un serveur mutualisé, le Timeout est réglable par hébergeur pour tous les sites présents sur le serveur. Sébastien |
| |
| |
| | | |
|
| | |
| |
Publicado el 28,septiembre 2005 - 10:03 |
Il y a bien un problème pour les fichiers en download à partir d'une certaine taille et cela me pose aussi un problème
Ce problème ne se pose pas sur un lien statique (un lien qui pointe directement sur un fichier)
Il se pose sur une action du serveur, du genre FichierAffiche (CheminFichier, "application/unknown", NomFichier) appelé par exemple à partir d'une liste ou d'une table.
On a l'impression qu'une action est effectuée sur le serveur avant que le téléchargement ne commence (est-ce la recopie du fichier dans une zone tampon ?). Quand le fichier est trop gros, l'action du serveur dépasse le timeout (90s).
Si qq a une solution, je suis preneur (genre affecter le chemin du fichier à un lien statique invisible et simuler un clic sur ce lien)
Matthieu J |
| |
| |
| | | |
|
| | |
| |
Publicado el 28,septiembre 2005 - 12:05 |
"Olivier DEVILLERS" <olivier.devillers@cegetel.net> a écrit dans le message de news:433965f6$1@news.pcsoft.fr...
Merci pour ta réponse. En effet je parle bien de Downloads
Je vais me renseigner auprès de mon hébergeur donc !
Tiens nous au courant de la réponse de ton hébergeur. C'est un problème qui intéresse pas mal de monde
Sébastien |
| |
| |
| | | |
|
| | |
| |
Publicado el 28,septiembre 2005 - 12:31 |
Salut,
et ben, tu dois pas aller sur les WTablettes toi.... Dessus, il y a une procédure FichierAffiche perso que j'ai écrite et qui comble justement ce problème de taille (c'est le cas de le dire d'ailleurs). Essaye avec et tiens-nous au courant.
Bon dev,
Olivier
Matthieu a énoncé ce jour :
Il y a bien un problème pour les fichiers en download à partir d'une certaine taille et cela me pose aussi un problème
Ce problème ne se pose pas sur un lien statique (un lien qui pointe directement sur un fichier)
Il se pose sur une action du serveur, du genre FichierAffiche (CheminFichier, "application/unknown", NomFichier) appelé par exemple à partir d'une liste ou d'une table.
On a l'impression qu'une action est effectuée sur le serveur avant que le téléchargement ne commence (est-ce la recopie du fichier dans une zone tampon ?). Quand le fichier est trop gros, l'action du serveur dépasse le timeout (90s).
Si qq a une solution, je suis preneur (genre affecter le chemin du fichier à un lien statique invisible et simuler un clic sur ce lien)
Matthieu J
|
| |
| |
| | | |
|
| | |
| |
Publicado el 29,septiembre 2005 - 08:29 |
Hello Olivier,
Si, si, bien sur que je vais voir les WTablettes
J'avais même en tête ton développement mais je ne l'avais pas testé à l'époque car je me rappelais d'une limite de 10 Mo, et les fichiers que je propose en download font entre 4 Mo et 52 Mo
Mais tu as raison, je vais y retourner et la tester
Merci et a+ Matthieu J |
| |
| |
| | | |
|
| | |
| |
Publicado el 29,septiembre 2005 - 12:11 |
Salut Matthieu,
Testes, testes
En fait, la limite de 10Mo n'est pas tout à fait exacte... La limite véritable de cette fonction se situe dans la RAM du serveur ou de la machine sur laquelle elle va tourner car le fichier entièrement est placé en mémoire.
Personnelement, je dirais que jusqu'à 100 - 150 Mo ça va aller (si il y a assez de mémoire). J'avais fait quelques tests mais je ne l'utilise que pour des fichiers beaucoup plus petits donc essayes...
Ceci étant, le but de la procédure que j'ai développé ou de celle de WebDev qui bug (un incident a été ouvert à ce propos : 45001) n'est pas de faire du volume. C'est pour transféré un fichier de manière sécurisé (comprendre sans lien statique). Donc, je pense que jusqu'à la limite dont je parlais, ça va. Au-delà, il faut voir une autre façon de faire.
Tiens-nous au courant de tes test STP:
Bon dev,
Olivier
Matthieu a écrit :
Hello Olivier,
Si, si, bien sur que je vais voir les WTablettes
J'avais même en tête ton développement mais je ne l'avais pas testé à l'époque car je me rappelais d'une limite de 10 Mo, et les fichiers que je propose en download font entre 4 Mo et 52 Mo
Mais tu as raison, je vais y retourner et la tester
Merci et a+ Matthieu J
|
| |
| |
| | | |
|
| | |
| |
Publicado el 29,septiembre 2005 - 14:11 |
Bonjour
Au fait, est ce que quelqu'un sait ce que fait exactement chaineaffiche ?
Pour etre sur que ca marche sur les gros fichiers, ne serait il pas possible de faire un truc du genre :
// définition du transfert en mode chunked dans le header http ChaineAffiche("Transfert-encoding: chunked\n") ChaineAffiche("\n") // data http en chunked= taille_hexa_data\n data \n pour chaque <bloc> du fichier : chaineaffiche("<taille_du_bloc en héxa>\n") chaineaffiche("<bloc>") chaineaffiche("0\n")
en théorie ca pourrait marcher... non ??? |
| |
| |
| | | |
|
| | |
| |
Publicado el 29,septiembre 2005 - 14:23 |
J'ai testé... Et j'ai adopté
Merci beaucoup pour cette routine qui me permet sans problème de télécharger des fichiers jusqu'à 60 Mo
Je conseille à tout le monde de l'utiliser
Par contre (est-ce un oubli ?), il faut ajouter un ";" à la fin de la chaine sinon le nom du fichier n'est pas proposé Ce donne donc pour la dernière ligne : ChaîneAffiche(sBuffer, TypeMime + NomFichier + ";")
Merci encore Matthieu J |
| |
| |
| | | |
|
| | |
| |
Publicado el 29,septiembre 2005 - 16:53 |
Salut,
piste intéressante
Pour ce que fait ChaineAffiche, c'est expliqué dans l'aide. Par contre, on peut compléter en disant que la partie TypeMime étant une information d'en-tête, on peut par ce biais ajouter l'entete que l'on veut. Attention à bien prendre soin de séparer les en-tetes apr RC. Pour exemple, regarde dans la procédure des WTablettes que j'ai publié, la partie "Content-Disposition... est un en-tete ajouté.
Pour le code ci-dessous : ChaineAffiche -> Affiche en une fois le contenu Buffer ou Chaine envoyé donc seul le premier appel sera transmis. Workarround : Construire la chaine ou buffer dans une variable.
Tes "\n" vont être envoyé en texte littéral. Envoi plutôt le caractère ASCII.
Ceci étant, fais des tests avec la procédure que j'ai publié mais comme je l'ai dit précédement c'est pas le but de surcharger la mémoire des serveurs avec des fichiers énormes. Je crois que si on va jusqu'à 100 - 150Mo maxi c'est déjà suffisament important.
Pour des fichiers plus gros, je conseille de faire autrement 2 plusieurs raisons : - Mémoire utilisé sur le serveur. - Transfert important = temps de transfert important -> non compatible avec les timeout de session pour des liaisons lentes (en intranet, ça doit aller).
On peut discuter de pistes si ça intéresse certains d'entre vous.
Bon dev,
Olivier
Patrice a énoncé :
Bonjour
Au fait, est ce que quelqu'un sait ce que fait exactement chaineaffiche ?
Pour etre sur que ca marche sur les gros fichiers, ne serait il pas possible de faire un truc du genre :
// définition du transfert en mode chunked dans le header http ChaineAffiche("Transfert-encoding: chunked\n") ChaineAffiche("\n") // data http en chunked= taille_hexa_data\n data \n pour chaque <bloc> du fichier : chaineaffiche("<taille_du_bloc en héxa>\n") chaineaffiche("<bloc>") chaineaffiche("0\n")
en théorie ca pourrait marcher... non ???
|
| |
| |
| | | |
|
| | |
| |
Publicado el 29,septiembre 2005 - 17:04 |
de rien.. Tant mieux hehe
Concernant le ";", pour ma part j'ai bien le nom qui est proposé. Peux-tu détailler le cas STP ? Sinon, il ne semble pas poser de problème donc pourquoi pas
Bon dev,
Olivier
Matthieu a annoncé :
J'ai testé... Et j'ai adopté
Merci beaucoup pour cette routine qui me permet sans problème de télécharger des fichiers jusqu'à 60 Mo
Je conseille à tout le monde de l'utiliser
Par contre (est-ce un oubli ?), il faut ajouter un ";" à la fin de la chaine sinon le nom du fichier n'est pas proposé Ce donne donc pour la dernière ligne : ChaîneAffiche(sBuffer, TypeMime + NomFichier + ";")
Merci encore Matthieu J
|
| |
| |
| | | |
|
| | |
| |
Publicado el 29,septiembre 2005 - 23:06 |
Ben le problème, c'est que sans le ";", le nom du fichier proposé sera par exemple "CATOGZ55." à la place du "NomDuFichier.pdf" que j'avais indiqué
Je suis étonné que tu ne reproduises pas cela (j'utilise application/unknown)
Après des recherches sur Internet, il semble que le ";" fasse partie de la syntaxe classique. En tout cas, cela fonctionne et c'est le principal
A+ Matthieu J |
| |
| |
| | | |
|
| | |
| |
Publicado el 30,septiembre 2005 - 11:40 |
Salut,
je comprends bien mais décidément, je n'arrive pas à reproduire ce cas... et j'aimerais bien.... En utilisant la syntaxe pFichierAffiche(NomFichier, "application/unknown", fExtraitChemin(NomFichier, fFichier+fExtension )) IE me propose toujours l'enregistrement du fichier (ce que je veux) avec le bon nom ! Effectivement, si j'utilise la syntaxe pFichierAffiche(NomFichier, "application/unknown"), ce qui ouvre le fichier dans IE : là, le nom du fichier si on fait "Enregistrer sous..." est faux ! Mais qu'il y ait le ";" ou pas, ça ne change rien. Sous FireFox, c'est différent... j'ai toujours le bon nom.
Quel serveur web utilises-tu ? IIS ?
Peut-être est-ce le serveur qui corrige la syntaxe dans ce cas....
Anyway, ça marche donc on peut modifier avec le ";". Merci pour ta remarque qui servira sûrement à d'autres.
Eric, si tu nous lis. Peux-tu STP corriger la WTablette ??
Bon dev,
Olivier
Matthieu a écrit :
Ben le problème, c'est que sans le ";", le nom du fichier proposé sera par exemple "CATOGZ55." à la place du "NomDuFichier.pdf" que j'avais indiqué
Je suis étonné que tu ne reproduises pas cela (j'utilise application/unknown)
Après des recherches sur Internet, il semble que le ";" fasse partie de la syntaxe classique. En tout cas, cela fonctionne et c'est le principal
A+ Matthieu J
|
| |
| |
| | | |
|
| | |
| |
Publicado el 30,septiembre 2005 - 12:54 |
Olivier Priser avait prétendu :
Eric, si tu nous lis. Peux-tu STP corriger la WTablette ??
Fait
-- Eric Webmaster des Wtablettes www.wtablettes.net |
| |
| |
| | | |
|
| | |
| |
Publicado el 30,septiembre 2005 - 13:49 |
Nickel, comme d'hab !!
Merci Eric !!
Bon dev,
Olivier
Eric a répondu :
Olivier Priser avait prétendu : Eric, si tu nous lis. Peux-tu STP corriger la WTablette ??
Fait -- Eric Webmaster des Wtablettes www.wtablettes.net |
| |
| |
| | | |
|
| | |
| |
Publicado el 04,octubre 2005 - 19:57 |
je ne m'attendais pas à autant de réponses.......... je vous remercie tous de nous avoir fait part de toutes ces intéressantes solutions
"Olivier DEVILLERS" <olivier.devillers@cegetel.net> a écrit dans le message de news: 4338f81f$1@news.pcsoft.fr...
Bonjour,
Sur mon site en WB9 j'ai un espace téléchargements. Tout fonctionne bien avec des fichiers de petite taille (jusqu'à 5mo environ) mais des que je veux mettre en téléchargement des fichiers de taille + importante (15mo ou 40 mo) les internaute ont le message "time out ..........."
y a t-il une limitation dans la taille des fichiers téléchargeable ou bien une astuce que je n'ai pas vu dans l'aide ?
merci pour vos réponses
|
| |
| |
| | | |
|
| | | | |
| | |
|