begin process at 2008 09 06 22:17:34
1 237 973 membres
355 nouveaux aujourd'hui
14 314 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CODE UPLOAD COURT ET FAIT MAISON (FONCTIONNE, TESTÉ IN REAL)


Information sur la source

Catégorie :Fichiers/Disque Niveau : Initié Date de création : 08/10/2002 Date de mise à jour : 08/10/2002 11:15:22 Vu : 12 767

Note :
9,33 / 10 - par 3 personnes
9,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note


Description

Le titre explique bien il me semble en quoi consiste cet amas de caractère ci-bas :

;)

Source

  • TailleMax=50000
  • MonFichier="test.jpg"
  • UrlSuivante="page.asp"
  • taille=Request.TotalBytes
  • if taille<TailleMax then
  • binfich = Request.BinaryRead(taille)
  • tmp=""
  • for i=1 to LenB(binfich)
  • tmp = tmp & chr(ascb(midb(binfich, i, 1)))
  • if tmp=left("Content-Type: ",len(tmp)) then
  • if tmp="Content-Type: " then exit for
  • else
  • tmp=""
  • end if
  • next
  • tmp=""
  • ascfich=chr(13) & chr(10) & chr(13) & chr(10)
  • for taille=i+1 to lenb(binfich)
  • tmp = tmp & chr(ascb(midb(binfich,taille,1)))
  • if tmp=left(ascfich,len(tmp)) then
  • if tmp=ascfich then exit for
  • else
  • tmp=""
  • end if
  • next
  • ascfich=""
  • for i=taille+1 to lenb(binfich)
  • ascfich = ascfich & chr(ascb(midb(binfich,i,1)))
  • next
  • ascfich=left(ascfich,instrrev(ascfich,chr(13) & chr(10),len(ascfich)-3)-1)
  • if len(ascfich)<>0 then
  • set objf=server.createobject("scripting.filesystemobject")
  • set fichier=objf.createtextfile(server.mappath(MonFichier),true)
  • fichier.write ascfich
  • fichier.close:set fichier=nothing
  • set objf=nothing
  • ch="""Le transfert du document s'est déroulé avec succès !"""
  • else
  • ch="""Une erreur est survenue : le transfert n'a pas eu lieu..."""
  • end if
  • else
  • ch="""Le fichier est trop grand : le transfert n'a pas eu lieu..."""
  • end if
  • %>
  • <script>
  • window.alert(<%=ch%>)
  • window.location.href=UrlSuivante
  • </script>
  • <html>
  • <head>
  • </head>
  • <body>
  • </body>
  • </html>
TailleMax=50000
MonFichier="test.jpg"
UrlSuivante="page.asp"

	taille=Request.TotalBytes

	if taille<TailleMax then
		binfich = Request.BinaryRead(taille)
		tmp=""
		for i=1 to LenB(binfich)
			tmp = tmp & chr(ascb(midb(binfich, i, 1)))
			if tmp=left("Content-Type: ",len(tmp)) then
				if tmp="Content-Type: " then exit for
			else
				tmp=""
			end if
		next

		tmp=""
		ascfich=chr(13) & chr(10) & chr(13) & chr(10)
		for taille=i+1 to lenb(binfich)
			tmp = tmp & chr(ascb(midb(binfich,taille,1)))
			if tmp=left(ascfich,len(tmp)) then
				if tmp=ascfich then exit for
			else
				tmp=""
			end if
		next

		ascfich=""
		for i=taille+1 to lenb(binfich)
			ascfich = ascfich & chr(ascb(midb(binfich,i,1)))
		next

		ascfich=left(ascfich,instrrev(ascfich,chr(13) & chr(10),len(ascfich)-3)-1)

		if len(ascfich)<>0 then
			set objf=server.createobject("scripting.filesystemobject")
			set fichier=objf.createtextfile(server.mappath(MonFichier),true)
			fichier.write ascfich
			fichier.close:set fichier=nothing
			set objf=nothing
			ch="""Le transfert du document s'est déroulé avec succès !"""
		else
			ch="""Une erreur est survenue : le transfert n'a pas eu lieu..."""
		end if

	else
		ch="""Le fichier est trop grand : le transfert n'a pas eu lieu..."""
	end if
	%>
	<script>
		window.alert(<%=ch%>)
		window.location.href=UrlSuivante
	</script>
	<html>
		<head>
		</head>
		<body>
		</body>
	</html>

Conclusion

TailleMax est la taille maximale du fichier à uploader autoriser, en octets ;

MonFichier est le nom du fichier qui va être créé sur le serveur, et qui va donc recevoir les données du fichier envoyé par l'internaute (je n'ai pas extrait le nom du fichier car j'ai créé ce code pour uploader des photos d'ID en jpg au début, et elles étaient enregistrées sous un numéro généré par le site);

Enfin, UrlSuivante est l'adresse de la page pour la redirection après l'upload, qu'il est raté ou réussi (un message prévient qd mm l'utilisateur lors de tel ou tel cas et précise en cas d'échec...)
  • signaler à un administrateur
    Commentaire de monstermax le 24/10/2002 17:14:38

    pas mal, sinon pour info :
    vbcrlf = Chr(13) & Chr(10)

    pour corser l'affaire tu peux essayer de gérer l'upload de plusieurs fichiers
    bon courage

  • signaler à un administrateur
    Commentaire de celiphane le 24/10/2002 21:12:27

    En effet merci bien, je connaissais "l'info" mais en Visual Basic, je ne pensais pas qu'une telle constante soit également gérée en ASP, mais si tu le dis, ça doit être vrai... je testerai plus tard !
    merci de ton comment'
    Tchao @+ et bonne prog' à tous !!!

  • signaler à un administrateur
    Commentaire de Warny le 04/03/2003 17:57:41

    Ta source pose un problème lorsque dans le fichier que tu envoies il y a des caractères chr(0).
    Dans ce cas le write s'arrête au caractère en question. Et pas moyen de la faire inscrire.
    J'utilise la méthode response.binarywrite mais elle ne peut renvoyer que des tableaux de byte (d'où une obligation de convertion très merdique en vbscript).

  • signaler à un administrateur
    Commentaire de Clem2k le 07/04/2003 16:23:57

    Génial ton code ! ;-)

  • signaler à un administrateur
    Commentaire de guidal le 31/07/2003 08:00:07

    L'utilisation de l'activeX SmartUpload permet plus de souplesse (nécessite biensûr de pouvoir installer l'activeX sur le serveur) ...

    ==&gt; http://www.aspsmart.com/

  • signaler à un administrateur
    Commentaire de tuxedo le 10/09/2003 05:50:17

    Le simple fait d'installer smartupload me pose des problemes je suis sur un windows 2000 pro et j,ai beau suivre leur procédure d'installation en plus de mettre les permission en écriture dans les dossiers concerner, on m'affiche tjrs une erreur ou une page indisponible.

    http://192.168.0.3/scripts/aspSmartUpload/Sample1.asp:La page est introuvable


  • signaler à un administrateur
    Commentaire de Jackboy le 22/12/2004 15:15:50

    erreur dans le code :

    Microsoft VBScript runtime error '800a0005'

    Invalid procedure call or argument: 'InStrRev'

    /admin/upload2.asp, line 36



    ****************
    la ligne 36 :
    ascfich=Left(ascfich,InStrRev(ascfich,Chr(13) & Chr(10),Len(ascfich)-3)-1)

  • signaler à un administrateur
    Commentaire de celiphane le 22/12/2004 15:23:42

    Jackboy>>> faudrait peut-être updaté un peu ton interprêteur asp parceque la fonction InStrRev existe depuis un bon bout de temps !
    Pour info, le code marche niquel sur plusieurs site de ma réalisation...

    @+
    Celiphane

  • signaler à un administrateur
    Commentaire de AbriBus le 01/12/2005 14:18:51

    Salut a tous,
    moi il me sort une erreur...:

    Erreur d'exécution Microsoft VBScript error '800a0005'

    Argument ou appel de procédure incorrect: 'instrrev'

    /page.asp, line 45

    sniff...
    c quoi ca comme fonction instrrev ?

  • signaler à un administrateur
    Commentaire de AbriBus le 01/12/2005 14:19:16

    Salut a tous,
    moi il me sort une erreur...:

    Erreur d'exécution Microsoft VBScript error '800a0005'

    Argument ou appel de procédure incorrect: 'instrrev'

    /page.asp, line 45

    sniff...
    c quoi ca comme fonction instrrev ?

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Boutique

Boutique de goodies CodeS-SourceS