Penggunaan skrip yang diunggah
Di bawah ini adalah contoh skrip yang diunggah untuk pengembangan. File unduhan dalam artikel ini menyediakan file dan kode dalam contoh. Lepaskan file terkompresi ke jalur dan konfigurasikan jalur virtual untuk server jaringan Anda. Anda dapat menguji dan memulai unggahForm.html di browser.
Panggilan skrip
Di bawah ini adalah cara untuk menelepon ke metode BuilduploadRequest. Panggilan pertama proses lengkap: Unggah Ulang. Kemudian hubungi metode builuploadRequest, dan kemudian kirimkan ke data biner asli permintaan dalam variabel independen.
bytecount = request.totalbytes
RequestBin = request.binaryread (bytecount)
redup unggah
atur unggahanequest = createObject
BuilduploadRequest RequestBin
Data didekomposisi dan disimpan dalam objek kamus dan dipulihkan dengan metode item (). Data item ini dapat disimpan dalam variabel VBScript dan dapat digunakan di mana saja dalam kode. Data dapat ditransmisikan sebagai respons terhadap klien, atau digunakan dalam kode ASP, atau dalam file dan dimasukkan ke dalam database.
Mengambil data
Data objek unggah yang dapat diakses dapat diakses dengan fungsi item ("kunci"). Mari kita pertimbangkan situasi ini sekarang: untuk mengakses nilai kontrol email. Anda dapat melakukan ini:
Email = unggahanequest.item ("Email").
Karena ini adalah kontrol teks, kontennya adalah string, string ini dapat digunakan seperti string vbscript lainnya. Untuk data biner, Anda dapat mengembalikan konten dalam metode yang sama:
Piction = unggahequest.item ("Blob").
Anda juga dapat mengakses informasi lain, seperti nama file dan tipe konten. Mereka adalah kontrol teks.
ContentType = unggahequest.item ("Blob").
FilePathName = unggahanequest.item ("Blob").
Gunakan data dalam kode vbscript
Data yang diunggah dapat digunakan dalam kode VBScript seperti variabel lain. Misalnya, mereka dapat mengirim kembali ke klien sebagai tanggapan.
Email Anda adalah: < % = email %>
Nama file Young adalah < % = FilePathName %>
Jenis file dari gambar Anda adalah < % = ContentType %>
Data biner juga dapat dikirim kembali ke klien. Tipe konten harus diatur, dan data biner dapat digunakan untuk menulis metode BinaryWrite.
response.contentType = contentType response.binarywrite piction
Tulis data yang diunggah ke file
Dalam hal kontrol kelas file, tujuannya adalah untuk menyimpan data biner ke dalam file atau domain basis data alih -alih mengirimkannya kembali ke klien. Tujuan ini adalah karakteristik yang melekat dari mengunggah file. Gunakan objek sistem file untuk menyimpan file yang diunggah ke dalam sistem file server.
Pertama -tama buat objek sistem file:
'Buat FilesyTemObject Component ScriptObject = Server.CreateObject ("Scripting.FilesyStemObject")
Gunakan objek sistem file untuk membuat file di jalur. Jalur bisa absolut, secara langsung menunjuk ke sistem file (seperti C:/TEMP). Ini juga bisa relatif, di bawah jalur virtual yang ditentukan oleh server jaringan. Gunakan metode mappath dan variabel server path_info untuk mengambil jalur virtual ke jalur absolut.
Metode tulis memerlukan string dual -byte sebagai variabel independen, sehingga nomor byte tunggal dikonversi menjadi string. Metode tulis bertanggung jawab untuk mengonversi string dual -byte ini dan menulisnya dalam format ASCII. Ini menetapkan konten biner yang berisi string -byte tunggal asli kami. Saya telah menamai file ini "Diunggah + nama file".
'Buat dan tulis ke file set myfile = scriptObject.createTextFile (server.mappath (request.serverVariables_ ("path_info") & "diunggah" & nama file)
untuk i = 1 ke lenb (nilai)
myfile.write chr (ascb (midb (value, i, 1)))
Berikutnya
myfile.close
Mulai data yang diunggah ke dalam database
Data juga dapat disimpan dalam database. Jenis konten juga harus disimpan dalam database sehingga data dapat ditampilkan nanti. Pertama -tama, kita harus membuat koneksi dengan database.
Set Conn = Server.CreateObject ("AdodB.Connection")
Conn.open "dsn = Wroxdns", "user", "pass"
Kemudian buat set rekaman dari koneksi:
SQL = "Pilih Foto, ContentType dari MyTable"
Setel RS = Server.CreateObject
Rs.oopen SQL, Conn, 3, 3, 3
Setelah set rekaman dibuat, masukkan data biner ke dalam domain Blob dari database:
pictureChunk = picture & chrb (0)
Rs.fields ("piction").
Rs.fields ("ContentType") = ContentType
rs.update
Conn.Close
Dalam metode Apendchunk, saya harus menyelesaikan bug. Bahkan, saya perhatikan bahwa ketika data biner memiliki byte angka yang aneh, metode AppendChunk tidak mengirimkan byte terakhir. Solusinya adalah menambahkan CHR (0) untuk memastikan bahwa semua byte ditransmisikan. Mungkin ada metode lain, jika demikian, tolong beri tahu saya.
Untuk mendapatkan refleksi dari database, gunakan set rekaman yang sama, dan gunakan jenis konten yang benar untuk mengirimkannya kembali ke klien sebagai respons.
response.contentType = rs.fields ("contentType")
size = rs.fields ("piction")
Blob = rs.fields ("piction").
response.binarywrite Blob
sebagai kesimpulan
Artikel ini menunjukkan cara lengkap untuk mengajukan file dengan VBScript. Pengkodean ini sepenuhnya VBScript, terlepas dari produk -produk pihak ketiga.
Pertama-tama perkenalkan proses pengunggahan (menggunakan konten "multipart/form-data" untuk HTML). Kemudian perkenalkan kode VBScript yang diunggah secara detail. Pada awalnya, ulasan singkat tentang fungsi VBScript dari string operasi dan seri nomor byte tunggal. Kemudian perkenalkan kode skrip dan struktur mengunggah data.
Akhirnya, beberapa tujuan skrip ini, dari mengunggah variabel dalam kode ASP ke database atau sistem file untuk menyimpan file unggahan.
Klik tautan di bawah ini untuk mengunduh <a href = "http://www.asptoday.com/articles/images/20000316.zip"> Kode rutin artikel ini.