'================================================== = =================
'
' Utiliser ASP pour implémenter le téléchargement/téléchargement de fichiers sans composants
'
'Présentation de la fonction
'Enregistrez les données du fichier téléchargé dans la base de données, qui peut gérer plusieurs fichiers téléchargés sous la forme
' Applicable à diverses bases de données, utilisez la méthode ADO pour vous connecter à la base de données
' Cet exemple utilise la base de données ACCESS : zj.mdb
'Table:tb_img(id int(auto-increment column),path text(255) Répertoire pour enregistrer les fichiers téléchargés
' ,fname text(250) enregistre le nom du fichier téléchargé, tapez test(250) enregistre le type du fichier téléchargé
', l'objet img ole enregistre le contenu du fichier téléchargé
'
'
'================================================== = =================
'================================================== = =================
'
'Page HTML pour télécharger des fichiers : zj_up.htm
'
'================================================== = =================
<html>
<tête>
<title>Téléchargez le fichier et enregistrez-le dans la base de données</title>
</tête>
<corps>
<form name="form1" enctype="multipart/form-data" method="post" action="zj_up.asp">
<p>
<input type="file" name="file">
<input type="submit" name="Submit" value="Upload">
</p>
</form>
</corps>
</html>
'================================================== = =================
'
'Téléchargez le fichier et enregistrez-le sur la page ASP de la base de données : zj_up.asp
'
'================================================== = =================
<%
Réponse.Expire=0
Fonction f_Bin2Str(ByVal sBin)
Dim iI, iLen, iChr, iRe
iRe = ""
Si ce n'est pas IsNull(sBin) alors
iLen = LenB(sBin)
Pour iI = 1 Pour iLen
iChr = MidB(sBin, iI, 1)
Si AscB(iChr) > 127 Alors
iRe = iRe & Chr(AscW(MidB(sBin, iI + 1, 1) & iChr))
je = je + 1
Autre
iRe = iRe & Chr(AscB(iChr))
Fin si
Suivant
Fin si
f_Bin2Str = iRe
Fonction de fin
iConcStr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False" & _
";Source de données=" & server.mappath("zj.mdb")
iSql="tb_img"
définir iRe=Server.CreateObject("ADODB.Recordset")
iRe.Open iSql,iConcStr,1,3
iLen=Request.TotalBytes
sBin=Request.BinaryRead(iLen)
iCrlf1 = ChrB(13) et ChrB(10)
iCrlf2 = iCrlf1 & iCrlf1
iLen = InStrB(1, sBin, iCrlf1) - 1
iSpc = GaucheB(sBin, iLen)
sBin = MidB(sBin, iLen + 34)
iPos1 = InStrB(sBin, iCrlf2) - 1
Pendant que iPos1 > 0
iStr = f_Bin2Str(LeftB(sBin, iPos1))
iPos1 = iPos1 + 5
iPos2 = InStrB(iPos1, sBin, iSpc)
iPos3 = InStr(iStr, "; nom de fichier=""") + 12
Si iPos3 > 12 Alors
iStr = Milieu (iStr, iPos3)
iPos3 = InStr(iStr, Chr(13) & Chr(10) & "Content-Type : ") - 2
iFn = Gauche (iStr, iPos3)
Si iFn <> "" Alors
iRe.AddNew
ire("chemin")=gauche(iFn,instrrev(iFn,""))
iRe("nomf") = mid(iFn,instrrev(iFn,"")+1)
iRe("type") = Milieu(iStr, iPos3 + 18)
iRe("img").AppendChunk MidB(sBin, iPos1, iPos2 - iPos1)
iRe.Mise à jour
Fin si
Fin si
sBin = MidB(sBin, iPos2 + iLen + 34)
iPos1 = InStrB(sBin, iCrlf2) - 1
Wende
iRe.fermer
définir iRe=Rien
%>
'================================================ = ===================
'
' Page ASP pour le téléchargement des données : zj_down.asp
'
'================================================== = =================
<%
Réponse.Buffer=true
Response.Clear
iConcStr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False" & _
";Source de données=" & server.mappath("zj.mdb")
set iRe=server.createobject("adodb.recordset")
iSql="tb_img"
iRe.open iSql,iconcstr,1,1
Réponse.ContentType=ire("type")
Réponse.BinaryWrite iRe("img")
iRe.close
définir iRe=Rien
%>