begin process at 2012 02 10 18:25:13
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichiers/Disque

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

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


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

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

Auteur : celiphane

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
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...)


 Sources de la même categorie

Source .NET (Dotnet) IMPORTER UN FICHIER EXCEL DEPUIS UN POSTE ET L'AJOUTER SUR L... par jseblavoie
SERVER.MAPPATH QUI ACCEPTE LES ../ par divlys
UPLOAD D'IMAGES VIA ADODB.STREAM ET SQL SERVER par Nicolas_kojack
LISTING DE FICHIERS ET RÉPERTOIRES (FONCTION RÉCURSIVE) par Warwick
Source avec Zip UTILITAIRE POUR FORCER LE TÉLÉCHARGEMENT D'UN FICHIER SUR UN... par shaiulud

Commentaires et avis

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

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 !!!

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).

Commentaire de Clem2k le 07/04/2003 16:23:57

Génial ton code ! ;-)

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/

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


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)

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

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 ?

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




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,810 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales