Code upload court et fait maison (fonctionne, testé in real)

Contenu du snippet

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

;)

Source / Exemple :


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

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.