UTILITAIRE POUR FORCER LE TÉLÉCHARGEMENT D'UN FICHIER SUR UN CLIENT WEB
cs_fabrice69
Messages postés1765Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention11 décembre 2013
-
26 nov. 2004 à 09:53
fr64
Messages postés32Date d'inscriptionvendredi 12 septembre 2003StatutMembreDernière intervention 4 avril 2007
-
4 avril 2007 à 10:20
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
fr64
Messages postés32Date d'inscriptionvendredi 12 septembre 2003StatutMembreDernière intervention 4 avril 2007 4 avril 2007 à 10:20
Le message d'erreur est clair non?
Il faut vérifier le chemin que tu passes à la méthode MapPath.
prac
Messages postés6Date d'inscriptionvendredi 30 mars 2007StatutMembreDernière intervention24 avril 2007 4 avril 2007 à 10:01
Salut à tous
Voila j'ai tester le code ci dessus et j'ai un problème avec la méthode MapPath qui m'affiche cette erreur :
erver.MapPath() error 'ASP 0171 : 80004005'
Chemin manquant
/dev/download.asp, line 27
Le paramètre Path doit être spécifié pour la méthode MapPath.
J'ai donc modifié le contenu de la variable et afficher son contenu j'ai alors cette erreur :
Caractère non valide pour le chemin - Un caractère non valide a été spécifié dans le paramètre Path pour la méthode MapPath.
est-ce quelqu'un aurait une idée...?
Merci d'avance!
cs_loic72
Messages postés18Date d'inscriptionvendredi 4 novembre 2005StatutMembreDernière intervention 1 août 20071 28 avril 2006 à 12:23
salut, j'ai un problème : le fichier ouvert est un fichier de copie! nom_file(1).ext
comment ouvrir le "bon" fichier pour pouvoir le modifier et l'enregistrer SVP?
+
genie_vaw
Messages postés12Date d'inscriptionsamedi 10 septembre 2005StatutMembreDernière intervention22 novembre 2005 19 avril 2006 à 04:05
utile pour piratage piratage aussi !!! alors c illégale. :)
cs_domi35
Messages postés1Date d'inscriptionvendredi 18 novembre 2005StatutMembreDernière intervention21 novembre 2005 21 nov. 2005 à 20:13
Ce script marche bien et ne nécessite aucune installation.
Mais il n'est utilisable que pour des fichiers ne dépassant pas une certaine taille. J'ai testé avec un fichier de 3,5 Mo et c'est passé. Par contre avec des fichiers de 8 Mo ou plus le fichier téléchargé fait 0 octet... Le téléchargement est évidemment instantané ! Si qqu'un comprend ce qui se passe, et surtout si qqu'un a la solution, je suis preneur ! Ca fait longtemps que je cherche...
cs_Ghost91
Messages postés6Date d'inscriptionjeudi 10 avril 2003StatutMembreDernière intervention 7 septembre 2005 7 sept. 2005 à 20:27
Bonjour,
J'ai un soucis concernant ce code. En effet cela ne fonctionne pas quand je me trouve dans un environement HTTPS.
Quelqu'un connait la solution ???
Mille merci d'avance.
fr64
Messages postés32Date d'inscriptionvendredi 12 septembre 2003StatutMembreDernière intervention 4 avril 2007 28 juin 2005 à 11:48
Une précision qui peut être fort utile:
Si on travaille avec des fichiers purement binaires (image jpeg ou autres), il faut faire
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type=1 ' Type de flux binaire (texte par défaut)
oStream.LoadFromFile Server.MapPath(sFileUrl)
sFileStream = oStream.Read ' ReadText pour les flux textes
oStream.Close
Set oStream = Nothing
Sinon, le fichier que l'on récupére peut être corrompu.
Dans mon cas, avec des fichiers jpeg, il me manquait 4 fois sur 5 le dernier octet (très important pour qualifier du jpeg). Résultat: impossible d'ouvrir le fichier dans photoshop.
Pour ce qui est du ADODB.Stream, c'est un objet standard de la bibliothéque ADO.
Il me semble que c'est un composant natif de Windows, donc à partir du moment où l'on est capable d'instancier par exemple un adodb.recordset, il ne devrait pas y avoir de problèmes pour un ADODB.Stream.
A moins qu'un administrateur système puisse gérer finement les objets ADO utilisables sur le serveur? Mais je n'ai jamais entendu parler de ça.
shaiulud
Messages postés404Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention15 juillet 201422 23 févr. 2005 à 21:43
Il est vrai que l'utilisation des composants ADODB sont soumis à l'environnement du serveur, mise à jour de patch de sécurité, montée de version du MDAC ...
Le choix de ce composant a été motivé par la facilité d'implémentation.
Pour ce qui est du téléchargement en lui même, il faut surtout regarder au niveau des headers HTTP, en utilisant les même en J2EE , PHP ou autre, ils seront toujours valable.
pour ce qui est du blocage à 99%, je pense qu'il faut analyser les composants du serveur pour trouver ce qui cloche, ce code fonctionne depuis 3 ans sur un site privé qui a 400 utilisateurs.
visiteurvarois
Messages postés7Date d'inscriptionlundi 16 août 2004StatutMembreDernière intervention30 mai 2005 21 janv. 2005 à 18:11
Ca part bien... Mais, le fonctionnement est aléatoire. Parfois, le téléchargement bloque à 99%, puis terminé !
POURQUOI ??? Bonne chance !!!
cs_fabrice69
Messages postés1765Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention11 décembre 20135 26 nov. 2004 à 09:53
Ce code fonctionne lorsque l'appel ADODB Stream fonctionne. Ce n'est pas évident sur toutes les machines.
Je n'ai personnellement jamais réussi à le faire fonctionner dans mes anciennes expériences.
4 avril 2007 à 10:20
Il faut vérifier le chemin que tu passes à la méthode MapPath.
4 avril 2007 à 10:01
Voila j'ai tester le code ci dessus et j'ai un problème avec la méthode MapPath qui m'affiche cette erreur :
erver.MapPath() error 'ASP 0171 : 80004005'
Chemin manquant
/dev/download.asp, line 27
Le paramètre Path doit être spécifié pour la méthode MapPath.
J'ai donc modifié le contenu de la variable et afficher son contenu j'ai alors cette erreur :
Caractère non valide pour le chemin - Un caractère non valide a été spécifié dans le paramètre Path pour la méthode MapPath.
est-ce quelqu'un aurait une idée...?
Merci d'avance!
28 avril 2006 à 12:23
comment ouvrir le "bon" fichier pour pouvoir le modifier et l'enregistrer SVP?
+
19 avril 2006 à 04:05
21 nov. 2005 à 20:13
Mais il n'est utilisable que pour des fichiers ne dépassant pas une certaine taille. J'ai testé avec un fichier de 3,5 Mo et c'est passé. Par contre avec des fichiers de 8 Mo ou plus le fichier téléchargé fait 0 octet... Le téléchargement est évidemment instantané ! Si qqu'un comprend ce qui se passe, et surtout si qqu'un a la solution, je suis preneur ! Ca fait longtemps que je cherche...
7 sept. 2005 à 20:27
J'ai un soucis concernant ce code. En effet cela ne fonctionne pas quand je me trouve dans un environement HTTPS.
Quelqu'un connait la solution ???
Mille merci d'avance.
28 juin 2005 à 11:48
Si on travaille avec des fichiers purement binaires (image jpeg ou autres), il faut faire
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type=1 ' Type de flux binaire (texte par défaut)
oStream.LoadFromFile Server.MapPath(sFileUrl)
sFileStream = oStream.Read ' ReadText pour les flux textes
oStream.Close
Set oStream = Nothing
Sinon, le fichier que l'on récupére peut être corrompu.
Dans mon cas, avec des fichiers jpeg, il me manquait 4 fois sur 5 le dernier octet (très important pour qualifier du jpeg). Résultat: impossible d'ouvrir le fichier dans photoshop.
Pour ce qui est du ADODB.Stream, c'est un objet standard de la bibliothéque ADO.
Il me semble que c'est un composant natif de Windows, donc à partir du moment où l'on est capable d'instancier par exemple un adodb.recordset, il ne devrait pas y avoir de problèmes pour un ADODB.Stream.
A moins qu'un administrateur système puisse gérer finement les objets ADO utilisables sur le serveur? Mais je n'ai jamais entendu parler de ça.
23 févr. 2005 à 21:43
Le choix de ce composant a été motivé par la facilité d'implémentation.
Pour ce qui est du téléchargement en lui même, il faut surtout regarder au niveau des headers HTTP, en utilisant les même en J2EE , PHP ou autre, ils seront toujours valable.
pour ce qui est du blocage à 99%, je pense qu'il faut analyser les composants du serveur pour trouver ce qui cloche, ce code fonctionne depuis 3 ans sur un site privé qui a 400 utilisateurs.
21 janv. 2005 à 18:11
POURQUOI ??? Bonne chance !!!
26 nov. 2004 à 09:53
Je n'ai personnellement jamais réussi à le faire fonctionner dans mes anciennes expériences.
Bon travail.
C'est une bonne idée qui reprend l'idée des HttpHandler en .NET :
- http://www.asp-php.net/tutorial/asp.net/httphandlers.php
Romelard Fabrice.