Direkomendasikan: Perbandingan beberapa cara untuk menghasilkan file HTML statis untuk ASP Ada banyak manfaat untuk mengonversi halaman dinamis untuk menghasilkan file HTML statis, seperti menghasilkan halaman web HTML kondusif untuk dimasukkan oleh mesin pencari (terutama untuk halaman yang menerima parameter dinamis). Saat mengakses meja depan, itu dipisahkan dari akses data, mengurangi tekanan pada akses basis data dan mempercepat pembukaan halaman web.
Gunakan ASP untuk menghasilkan kode verifikasi warna gambar
49 baris kode, tiga file
File ASP: Code.asp
File Data: body.fix, head.fix
Penggunaan: <img src = code.asp>
<%Opsi ExplicitResponse.buffer = truenumCodefunction numcode () response.expires = -1 response.addheader pragma, no-cache response.addheader cache-ctrol, no-cache dim znum, i, J dimeD, ADOS1 (ADOS1 timer znum = cint (899999 (899999 (899 RIMODE (ADOS1 (ADOS1 (899 RIMODE (ADOS1 (8999999 (8999999999 Zimg (4), NSTR NSTR = CSTR (ZNUM) untuk i = 0 hingga 3 zimg (i) = cint (mid (nstr, i 1,1)) next pos set ados = server.createObject (adodb.stream) ados.mode = 3 ados.type = 1 ados.open set ados1 = server.crate.croate = 3 ados.type = ados.open set ados1 = server.crate.create = 3 ados.type = 1 ados.open set ados1 = server.create.create.croate = 3 ados.type = ados.open set ados1 = server. Ados1.type = 1 ados1.open ados.loadFromFile (server.mappath (body.fix)) ados1.write ados.read (1280) untuk i = 0 hingga 3 ados.position = (9-zimg (i))*320 ados1.posisi = i*320 ados1.write ados.write ados.) Ados.loadFromFile (server.mappath (head.fix)) pos = lenb (ados.read ()) ados.position = pos untuk i = 0 hingga 9 langkah 1 untuk j = 0 hingga 3 ados1.position = i*32 j*320 ados.position = POS 30*ji*120 ados.write ados1 nextpose (pos) selanjutnya) selanjutnya. Ados.position = 0 response.binarywrite ados.read () ados.close: set ados = nothing ados1.close: atur ados1 = nothing function 'kode ASP yang dibuat oleh bluidea.com tim web v37 2003-7-25%> |
Penjelasan Kode:
| Response.buffer = true NumCode Fungsi numcode () Response.expires = -1 Response.addheader Pragma, tanpa cache Response.addheader cache-ctrol, tanpa cache redup znum, i, j Dim Ados, ADOS1 Mengacak pengatur waktu |
Menghasilkan angka empat digit acak:
| znum = cint (8999*rnd 1000) |
Lulus ke sesi
| Sesi (getCode) = znum |
Ini untuk loop adalah untuk memasukkan angka acak ke dalam array dengan subskrip 3, yang nyaman untuk memberikan transformasi array berikutnya
| redup zimg (3), nstr Nstr = cstr (znum) Untuk i = 0 hingga 3 zimg (i) = cint (mid (nstr, i 1,1)) Berikutnya redup pos |
'Tentukan dua objek biner ADODB.Stream untuk operasi data gambar:
| Setel ados = server.CreateObject (adodb.stream) Ados.mode = 3 Ados.type = 1 Ados.open Setel ados1 = server.createObject (adodb.stream) Ados1.mode = 3 ADOS1.Type = 1 Ados1.open |
'Muat 0 ~ 9 Data Digital 10x100, Data Array GBR, masing -masing 320 byte, 10 digit 3200 byte
'Bgr satu titik, 10x10 poin satu angka, satu poin tiga byte (8 bit dalam biner, 00 ~ ff dalam heksadesimal)
'Garis 10 poin 30 byte garis ujung garis 00 00 00 2 byte 32 byte, jadi gambar 10x100 dengan lebar lebih kecil dari panjang setiap angka 10x10 adalah 320 byte
'Jika panjangnya lebih besar dari lebar, tidak akan ada tanda ujung garis 0000, yang secara langsung 300 byte.
Ini adalah detail data BMP 24bit
'Sedangkan untuk kepala, ini juga sangat sederhana, termasuk panjang dan lebar, tanda mulai gambar, dll. ~~ Ini hanya 54 byte, jauh lebih tidak rumit dari jpg atau sesuatu
| Ados.loadFromFile (server.mappath (body.fix)) Ados1.write ados.read (1280) |
'Loop pertama, ekstrak empat angka yang sesuai dari array digital 10x100 dalam urutan angka acak yang dihasilkan
Tapi serangkaian angka vertikal
| untuk i = 0 hingga 3 Ados.position = (9-zimg (i))*320 Ados1.position = i*320 Ados1.write ados.read (320) Berikutnya |
'Hapus data ADOS yang digunakan dan hubungi file header yang menggantikan header gambar baru 54 byte
| Ados.loadFromFile (server.mappath (head.fix)) POS = lenb (ados.read ()) Ados.position = pos |
'Tentukan posisi POS, dan kemudian mengimbangi posisi dengan 54 byte untuk menambahkan data grafis
Yang kedua untuk loop melakukan transformasi array angka, mengubah blok vertikal menjadi blok horizontal
Metode ini adalah untuk mengekstrak 4 kali 320 byte dan menulis ke objek ADOS, dan kemudian mengekstrak data gambar yang diimbangi dari baris kedua.
30 byte adalah karena lebar BMP lebih besar dari panjang tanpa tanda ujung garis 00
| Berikut ini adalah konten yang dikutip: untuk i = 0 hingga 9 langkah 1 untuk j = 0 hingga 3 Ados1.position = i*32 j*320 Ados.position = pos 30*ji*120 Ados.write ados1.read (30) Berikutnya Berikutnya Ados.position = 0 response.binarywrite mengirimkan data gambar langsung ke klien Response.contentType = gambar/BMP Response.binarywrite ados.read () Ados.Close: Set ADOS = tidak ada Ados1.close: atur ados1 = tidak ada Fungsi akhir |
Bagikan: Tentang pemisahan kode dan halaman ASP Untuk menghindari kesulitan pemeliharaan yang disebabkan oleh penulisan campuran Kode TML Program ASP, artikel ini memperkenalkan metode untuk menggunakan templat untuk memisahkan program dan halaman untuk membuat pemrograman lebih mudah. Saat menggunakan ASP untuk membuat situs, file ASP sering muncul, kode program dan HTM