' ===== = ==
'
' Gunakan ASP untuk mengimplementasikan pengunggahan/pengunduhan file tanpa komponen
'
'Pengenalan fungsi
'Simpan data file yang diunggah ke database, yang dapat menangani banyak file yang diunggah dalam formulir
' Berlaku untuk berbagai database, gunakan metode ADO untuk terhubung ke database
' Contoh ini menggunakan database ACCESS: zj.mdb
'Tabel:tb_img(id int(kolom kenaikan otomatis),teks jalur(255) Direktori untuk menyimpan file yang diunggah
' ,fname text(250) menyimpan nama file yang diunggah, ketik test(250) menyimpan jenis file yang diunggah
', objek img ole menyimpan konten file yang diunggah
'
'
' ===== = ==
' ===== = ==
'
'Halaman HTML untuk mengunggah file: zj_up.htm
'
' ===== = ==
<html>
<kepala>
<title>Unggah file dan simpan ke database</title>
</kepala>
<tubuh>
<form name="form1" enctype="multipart/form-data" method="post" action="zj_up.asp">
<p>
<masukan tipe="file" nama="file">
<input type="kirim" nama="Kirim" value="Unggah">
</p>
</bentuk>
</tubuh>
</html>
' ===== = ==
'
'Unggah file dan simpan ke halaman ASP database: zj_up.asp
'
' ===== = ==
<%
Respon. Kedaluwarsa = 0
Fungsi f_Bin2Str(ByVal sBin)
Redupkan iI, iLen, iChr, iRe
iRe = ""
Jika Bukan IsNull(sBin) Lalu
iLen = LenB(sBin)
Untuk iI = 1 Ke iLen
iChr = TengahB(sBin, iI, 1)
Jika AscB(iChr) > 127 Maka
iRe = iRe & Chr(AscW(MidB(sBin, iI + 1, 1) & iChr))
aku = aku + 1
Kalau tidak
iRe = iRe & Chr(AscB(iChr))
Akhiri Jika
Berikutnya
Akhiri Jika
f_Bin2Str = iRe
Fungsi Akhir
iConcStr = "Penyedia=Microsoft.Jet.OLEDB.4.0;Info Keamanan Tetap=Salah" & _
";Sumber Data=" & server.mappath("zj.mdb")
iSql="tb_img"
set iRe=Server.CreateObject("ADODB.Recordset")
iRe.Buka iSql,iConcStr,1,3
iLen=Permintaan.TotalBytes
sBin=Permintaan.BinaryRead(iLen)
iCrlf1 = ChrB(13) & ChrB(10)
iCrlf2 = iCrlf1 & iCrlf1
iLen = InStrB(1, sBin, iCrlf1) - 1
iSpc = KiriB(sBin, iLen)
sBin = TengahB(sBin, iLen + 34)
iPos1 = InStrB(sBin, iCrlf2) - 1
Sedangkan iPos1 > 0
iStr = f_Bin2Str(KiriB(sBin, iPos1))
iPos1 = iPos1 + 5
iPos2 = InStrB(iPos1, sBin, iSpc)
iPos3 = InStr(iStr, "; nama file=""") + 12
Jika iPos3 > 12 Lalu
iStr = Pertengahan(iStr, iPos3)
iPos3 = InStr(iStr, Chr(13) & Chr(10) & "Tipe Konten:") - 2
iFn = Kiri(iStr, iPos3)
Jika iFn <> "" Lalu
iRe.TambahkanBaru
kemarahan("jalur")=kiri(iFn,instrrev(iFn,""))
iRe("fname") = pertengahan(iFn,instrrev(iFn,"")+1)
iRe("tipe") = Tengah(iStr, iPos3 + 18)
iRe("img").AppendChunk MidB(sBin, iPos1, iPos2 - iPos1)
iRe.Perbarui
Akhiri Jika
Akhiri Jika
sBin = TengahB(sBin, iPos2 + iLen + 34)
iPos1 = InStrB(sBin, iCrlf2) - 1
Pergi ke
iRe.close
atur iRe=Tidak ada
%>
'================= = ====
'
' Halaman ASP untuk mengunduh data: zj_down.asp
'
' ===== = ==
<%
Respon.Buffer=benar
Response.Clear
iConcStr = "Penyedia=Microsoft.Jet.OLEDB.4.0;Info Keamanan Tetap=Salah" & _
";Sumber Data=" & server.mappath("zj.mdb")
setel iRe=server.createobject("adodb.recordset")
iSql="tb_img"
iRe.buka iSql,iconstr,1,1
Respon.ContentType=ire("type")
Respon.BinaryWrite iRe("img")
iRe.close
atur iRe=Tidak ada
%>