Ketika kami sedang mengerjakan proyek web, kami sering perlu menggunakan fungsi mengunggah file, tetapi mengunggah berbagai jenis file di lingkungan aplikasi berbasis browser/server selalu bermasalah pengguna. Jadi apa metode ASP untuk mengunggah file?
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.
dua. Contoh metode implementasi unggahan file
Untuk mengimplementasikan unggahan file, Anda dapat menggunakan komponen atau metode bebas komponen. Untuk kelas komponen, seperti Microsoft Posting Accquor (singkatnya MPA), ini adalah komponen server gratis yang dirilis oleh Microsoft. Pemasangan komponen semacam itu juga lebih nyaman. Untuk MICrosoft's MPA, cukup jalankan file instalasi. Untuk formulir komponen DLL umum, kita perlu mendaftar. Misalnya, untuk menggunakan aspcnup.dll, cukup jalankan regsvr32 [path/] aspcnup.dll pada jendela 2000, dan sistem meminta pendaftaran berhasil, Anda dapat menggunakan komponen ini; Untuk kelas tanpa komponen, saat menggunakannya, cukup sertakan pernyataan berikut di pawang:
<!-#Sertakan file = "unggah
Untuk properti dan metode operasi, silakan merujuk ke manual pengguna dari komponen ini.
Berikut ini adalah kode sumber (unggah.asp) untuk mengunggah beberapa jenis file menggunakan komponen aspcnup.dll sebagai contoh:
<% @ language="vbscript" Set fileUP=Server.CreateObject("aspcn.Upload") fileUP.Maxsize=200000 fileUP.Path="d:/upfile" fileUP.Upload For i=0 to fileUP.Count fieldname=fileUP.FieldName(i) If fileUP.FileType(fieldname)="zip" Or ileup.filetype (fieldName) = "rar" lalu fileup.save fieldname end jika selanjutnya set fileup = tidak ada%>Model aplikasi browser/server masih berkembang pesat. Dalam ASP.NET Microsoft yang baru diluncurkan, fungsi unggahan file telah dibangun, membuatnya sangat sederhana dan nyaman untuk digunakan. Sebagai teknologi baru, ASP.NET bukan hanya peningkatan ASP yang sederhana. Ini adalah kerangka kerja baru untuk pengembangan web, yang berisi banyak fitur baru. ASP.NET memberikan kode struktur yang lebih mudah untuk menulis dan lebih jelas, dan kami akan dapat menggunakan kembali dan berbagi lebih mudah, sehingga mengembangkan program yang lebih praktis.
Di atas adalah semua konten artikel ini. Saya berharap konten artikel ini akan membantu untuk belajar atau bekerja semua orang. Saya juga berharap dapat mendukung saluran teknologi baru yang salah!