begin process at 2012 05 28 14:03:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

Débutants

 > 

Upload


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Upload

mardi 8 juillet 2003 à 21:14:38 | Upload

poussmouss

Voila, j'utilise un script qui vient d'ici pour uploader des fichiers, et j'aimerai savoir si il est possible de limiter l'upload aux images seulement et aussi si on peut les renomer au passage.
Comme je ne trouve plus la page ou j'ai pris le script, je vous le mets ici. Merci d'avance :
' --------------------------------------------------------------
' UPLOAD de n'importe quel type de fichier sans composant
' Nicolas Chu
' http://www.nc-technologies.com
' --------------------------------------------------------------

Dim Contenu, TailleContenu, ContenuAscii, X, Y, Z, Position

' ---------------------------
Contenu = Request.BinaryRead(Request.TotalBytes)
TailleContenu = Request.TotalBytes

' Grâce à la méthode BinaryRead on lit la totalité du post en mode binaire que l'on place dans une variable Contenu
' La propriété TotalBytes nous Indique le nombre total des octets envoyés par le client dans le corps du message de requête.

' -------------------
ToutOk = 0
' ToutOk est une Variable Test (si tout est Ok, elle prend la valeur 1 sinon elle reste à 0

' -------------------
PosDebutFic=0
' PosDebutFic représente la position de l'octet où se trouve le début du Nom du fichier transmis

' -------------------
PosFinFic=0
' PosFinFic représente la position de l'octet où se trouve la fin du Nom du fichier transmis

' -------------------
PosDebutCont=0
' PosDebutCont représente la position de l'octet où se trouve le début du Content-Type du fichier

' -------------------
PosFinCont=0
' PosFinCont représente la position de l'octet où se trouve la fin du Content-Type du fichier

' -------------------
PosDebutFic2=0
' PosDebutFic2 représente la position de l'octet où se trouve le début du Contenu du fichier

' -------------------
PosFinFic2=0
' PosFinFic2 représente la position de l'octet où se trouve la fin du Contenu du fichier

X = 0
Y = 1
Position = 1

' -------------
' En premier lieu, on recherche la position du terme filename="
' Pour ce faire, on calcul le nombre d'octet (LimitBin) du premier élément jusqu'à filename=" (on effectue une boucle jusqu'au nombre d'octets correspondant au terme filename=")

LimitASCII = "filename=" & chr(34)
LimitBin=""
for Z = 1 to Len(LimitASCII)
LimitBin = LimitBin & chrB(ASC(Mid(LimitASCII, Z, 1)))
next

' -------------------
' On recherche la position de l'octet de la chaîne Contenu jusqu'à LimitBin
' On utilise la fonction InStrB qui est disponible pour être utilisée avec les données de type octet contenues dans une chaîne. Au lieu de renvoyer la position du caractère de la première occurrence d'une chaîne à l'intérieur d'une autre (fonction Instrv), la fonction InStrB renvoie la position de l'octet.

PosDebutFic = InstrB(1, Contenu, LimitBin)

' -------------------
' On lui ajoute ensuite la longueur du terme filename=" ce qui nous permet d'avoir la position de début du nom du fichier (PosDebutFic)

if PosDebutFic <> 0 then
PosDebutFic = PosDebutFic + LenB(LimitBin)
end if

' -------------------
' En premier lieu, on recherche la position du terme Content-Type: d'une façon similaire à notre recherche pour le terme filename="

LimitASCII = "Content-Type:"
LimitBin=""
For Z = 1 to Len(LimitASCII)
LimitBin = LimitBin & chrB(ASC(Mid(LimitASCII, Z, 1)))
next
PosDebutCont = InstrB(1, Contenu, LimitBin)

if PosDebutCont <> 0 then

' -------------------
' On trouve la position de la fin du nom du fichier (PosFinFic) à partir de la position du début du terme Content-Type: à laquelle on retire trois octets (un espace, une " et la première lettre du terme)

PosFinFic = PosDebutCont - 3

' -------------------
' On ajoute à PosDebutCont la longueur du terme Content-Type: , ce qui nous permet d'avoir la position de début du Content-Type (PosDebutCont)

PosDebutCont = PosDebutCont + LenB(LimitBin)
end if

' -------------------
' On en déduit le nombre de caractères composant le nom du fichier en effectuant une soustraction

NomFichier = MidB(Contenu, PosDebutFic , (PosFinFic - PosDebutFic))

' -------------------
' Nous n'avons plus qu'à traduire en texte grâce à la fonction ASCB et trouver ainsi le nom du fichier (NomFichier)

ContenuAscii = ""
for Z = 1 to LenB(NomFichier)
ContenuAscii = ContenuAscii & chr(ASCB(MidB(NomFichier, Z, 1)))
next
NomFichier = ContenuAscii
If NomFichier <> "" Then

' -------------------
' On cherche la position de début du contenu du fichier en sautant les blancs

PosFinCont = InstrB(PosDebutCont, Contenu, chrB(13))
if PosFinCont <> 0 then
PosDebutFic2 = PosFinCont + 4
end if

' -------------------
' On recherche la position de fin du contenu du fichier

LimitASCII = "----"
LimitBin=""
for Z = 1 to Len(LimitASCII)
LimitBin = LimitBin & chrB(ASC(Mid(LimitASCII, Z, 1)))
next

PosFinFic2 = InstrB(PosDebutFic2, Contenu, LimitBin)

' -------------------
' Si la position de fin du contenu du fichier n'est pas 0 alors tout est OK

if PosFinFic2 <> 0 then
ToutOk = 1
end if

' -------------------
' On place le contenu binaire du fichier transmis dans la variable DataFichier

DataFichier = MidB(Contenu, PosDebutFic2 , (PosFinFic2 - PosDebutFic2))

' -------------------
' Si tout est ok, on écrit dans un fichier à la racine du serveur en plaçant d'abord dans une variable NouveauFic le chemin complet du fichier à écrire.

If ToutOk = 1 then
Position = InstrRev(NomFichier, "\")
NomFichierCourt = right(NomFichier, (Len(NomFichier) - Position))
NouveauFic = Server.MapPath("\imguser\") & "\" & NomFichierCourt
Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
Set Out=FileObject.CreateTextFile(NouveauFic, True)
For I = 1 to LenB(DataFichier)
Out.Write chr(AscB(MidB(DataFichier,I,1)))
Next
Out.close
Set Out=nothing
end if
mercredi 9 juillet 2003 à 12:03:35 | Re : Upload

Bud

Voici une fonction qui te permet de checker l'extension. Pour le nom du fichier, regarde tout en bas du code, tu as
NomFichierCourt = right(NomFichier, (Len(NomFichier) - Position))
C'est probablement sur ce NomFichierCourt qu'il faut jouer.

function verif_ext()
{
fichier=document.upl.Fichier1.value;
if(fichier!="")
{
longueur= fichier.length;
where = fichier.lastIndexOf(".");
extension=fichier.slice(where,longueur);
if(extension!=".jpg") //&& extension!=".gif" && extension!=".png")
{
alert("le fichier sélectionné n'est pas un fichier image compatible !!!");
document.upl.Fichier1.select();
document.upl.Fichier1.value="";
return false;
}
else
{
document.upl.extension.value=extension;
return true;
}
}
else
return true;
}


Cette discussion est classée dans : fichier, contenu, octet, position, limitbin


Répondre à ce message

Sujets en rapport avec ce message

problème upload [ par flolag ] Salut,J'ai fait une applet JAVA qui modifie un fichier image. J'envoi ensuite ce fichier en HTTP POST pour le récupèrer en ASP. J'ai réussi en php cel perte du contenu d'un champ fileUpload [ par adomarle ] Bonjour,Pour l'administration d'un site, j'ai créé un formlaire avec un fileupload.A côté de ce fileupload, j'ai mis un Button "visualiser" qui me per Manipuler un fichier Text pour transferer le contenur dans des <input> [ par Seven ] Bonjour tous le monde,      voila je voudrai que vous m'aidiez sur ce point là, j'ai un fichier ".txt", voici son contenu :--------------------------- lire fichier xml [ par mohamed222222 ] Bonjour à tous !!Cette fonction me permet d'afficher le contenu d'un fichier xml dans un textbox. Mais mon problème est qu'elle affiche tout le cont localstart.asp ne s'exécute pas [ par Claude Azoulai ] BonjourJ'essaie de définir mon web local en lançant le fichier "localstart.asp" contenu dans C:\Inetpub\wwwroot\ .IE7 comme Firevox ne m'affiche que l Copier le contenu d'un fichier ouvert [ par ramatandiaye ] RandiBonjour j'aimerai connaître comment copier le contenu d'un fichier ouvert dans un tableau en ASP,j'ai déjà ouvert le fichier  Set ouvFichier = Lire un fichier binaire [ par dan ] je voudrais lire le contenu d un fichier binaire, mais je ne trouve que la fonction OpenFileText pour lire le contenu du fichier, et evidemment j ai t Contenu d'un fichier ZIP ??? [ par Skyride ] BonsoirJe parcours peu à peu les nouveaux sites du réseau Code Source et je suis tombé sur la fonctionnalité suivante :Comment visualiser le contenu d Afficher le contenu d'un fichier Excel dans une page ASP avec un chemin physique [ par bouharras ] BONJOUR à tous ; j'ai fait un script qui permet d' Afficher le contenu d'un fichier Excel dans une page ASP avec un chemin physique ;il marche trés bi Effacer le Contenu d un Fichier en Java? [ par Delamour ] Slut!J aimerais savoir comment effacer le contenu  d un Fichier en Java? en fait j utilise pr l instant un RandomAccessFile et je sais pas comment ca


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 4,680 sec (3)

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