satu. Analisis prinsip implementasi unggahan file berdasarkan ASP
Prinsip dasarnya adalah: Gunakan metode BinaryRead dari objek aliran ADO untuk membaca semua data dalam formulir, mencegat data file yang diperlukan, dan simpan dalam file biner.
Berikut adalah contoh halaman file unggah (unggah.htm):
< html >< body >< name form = "unggah" metode = "post" enctype = "multipart/form-data" action = "unggah
Objek file digunakan dalam program, sehingga data asli dibaca dengan menggunakan metode BinaryRead dalam unggah .asp tidak hanya data file yang dipilih itu sendiri, tetapi juga berisi deskripsi jalur, ketik, nama domain dari halaman pengiriman dan informasi terkait lainnya pada hard disk pengguna. Dengan cara ini, kita perlu mengekstrak konten spesifik file darinya. Menurut analisis, garis pemisah antara informasi header dari data dan data adalah dua pasang jeda jalur pengembalian carriage, dan ada juga yang memisahkan informasi di akhir. Kita dapat menggunakan metode serupa untuk mendapatkan data file.
Dim FormData.Formsize, Datastart, clstr, Divstrformsize = request.totalBytesFormData = request.binaryRead (formsize) clstr = chrb (13) & chrb (10) datastart = instrb (formdata.clstr & clstr)+4'4 adalah dua panjang dari baris return carriage. Divstr = LeftB (FormData, Instrb (FormData, CLSTR) -1) DataSize = Instrb (DataStart+1, FormData, Divstr) -datastart-2FormData = midb (FormData, DataStart, DataSize) FormData adalah isi file.
Perawatan yang sesuai dapat dilakukan sesuai kebutuhan di tengah. Pekerjaan terakhir adalah menyimpan file. Ada dua cara untuk menyimpan: satu adalah dengan menggunakan metode operasi file biner dalam program seperti VB atau VC, tambahkan jenis pustaka jenis yang sesuai ke proyek, dan akhirnya menyusunnya ke dalam file DLL, dan daftarkan file DLL saat menggunakannya. Program penyimpanan file adalah sebagai berikut:
Public Function SaveFile(Pathname As String) As String Dim objContext As ObjectContext Dim objRequest As Request Set objContext=GetObjectContext() Set objRequest=objContext("Request") 'The following piece of code is a related operation for file storage Dim FormData() As Byte,CLStr,DivStr Dim DataStart As Long,DataSize As Long DataSize = objRequest.totalbytes redim formdata (dataSize-1) formdata = objrequest.binaryRead (dataasize) clstr = chrb (13) & chrb (10) datastart = instrb (formdata, clstr & clstr) +4 divstr = kiri (formdata, formdata, clstr & clStr) +4 divstr = lefstr = FormData, formata (FormData) +4 divstr = FORMDATA (FormData) +4 (FormData) +4) DataSize = Instrb (DatasTart+1, FormData, Divstr) -datastart-2 formdata = midb (formdata, datastart, dataasize) 'Buat file biner dan tulis formdata untuk membuka pathname untuk biner sebagai 1 put #1 ,, FormData tutup #1 saveFile = "ok!" Fungsi akhirMetode kedua adalah menggunakan metode operasi file biner yang disediakan dalam aliran ADO untuk menyelesaikannya. Pernyataan untuk menyimpan file adalah: streamobj.savetofile (nama file, 2). Dalam operasi semacam ini, kami dapat menyimpan operasi yang relevan dalam file kelas. Saat mendaftar, cukup sertakan file kelas dalam program ASP. Untuk metode pemrosesan tertentu, silakan merujuk ke pengantar yang relevan.