Ekstrak deskripsi kode data sekunder yang diunggah melalui formulir upload request.totalbytes sebagai file biner.
Copy kode kodenya sebagai berikut:
<tipe masukan="berkas">
formsize=permintaan.totalbytes
formdata=permintaan.binaryread(ukuran bentuk)
bncrlf=chrB(13) & chrB(10)
pembagi=kiriB(formdata,clng(instrb(formdata,bncrlf))-1)
datamulai=instrb(formdata,bncrlf & bncrlf)+4
dataend=instrb(datastart+1,formdata,pembagi)-datastart
mydata=midb(formdata,datamulai,dataakhir)
formsize=permintaan.totalbytes
Dapatkan jumlah byte maksimum yang diunggah
-----------------------
formdata=permintaan.binaryread(ukuran bentuk)
Dapatkan data formulir dari aliran biner
-----------------------
bncrlf=chrB(13) & chrB(10)
Setel variabel pengembalian kereta crlf dan kode umpan baris
-----------------------------------
pembagi=kiriB(formdata,clng(instrb(formdata,bncrlf))-1)
Dapatkan data byte di sebelah kiri crlf pertama
instrb(formdata,bncrlf)-1 Mesin memeriksa bahwa nilai bit byte biner crlf adalah minus satu, yang merupakan data biner sebelum informasi flag. Perlu dicatat bahwa instrb mengembalikan clng, jadi clng ditambahkan di sini. berulang
-----------------------------------
datamulai=instrb(formdata,bncrlf & bncrlf)+4
Dapatkan data gambar dan hapus posisi awal informasi header yang ditambahkan oleh form form, yang merupakan posisi awal byte dari data file sebenarnya setelah type=file Anda dikirimkan dalam formulir.
Posisi dua crlfs berturut-turut + 4 (yaitu, panjang dua crlfg)
-----------------------------------
dataend=instrb(datastart+1,formdata,pembagi)-datastart
Posisi data + 1 yang diperoleh di atas digunakan sebagai nilai perhitungan referensi untuk memeriksa akhir data. Posisi informasi header pembatas bentuk biner pertama dikembalikan pada posisi mulai dari datastart + 1, dan kemudian posisi relatif. datastar dikurangi.
----------------------------
mydata=midb(formdata,datamulai,dataakhir)
midb() mengambil format bit ujung bintang dari data file yang diunggah yang diperoleh melalui banyak putaran dan putaran.
ok --------------> Sekarang ekstrak dengan bersih data sekunder yang diunggah
Catatan:
(1). Semua fungsi VB seri *B diproses oleh byte. Mereka harus digunakan untuk memproses sistem sekunder.
(2) Setelah .type=file dan data formulir jenis formulir yang sesuai dikirimkan, informasi header terkait dilampirkan ke setiap bidang file.
Oleh karena itu, algoritma di atas harus digunakan untuk menemukan dengan jelas data file sebenarnya.
(3). Pada saat yang sama, informasi header juga berisi data nama file awal yang diunggah, seperti c:/aaa/aaa.jpg. Data formdata dapat diproses dengan cara yang sama seperti mengekstrak nama file awal dari data domain file.
(4). Algoritme ini berasal dari format data yang disediakan oleh spesifikasi "formulir" http, sehingga algoritme pemrosesan di perusahaan mana pun serupa!