Lampiran asp tidak dapat diunggah atau kesalahan runtime Microsoft VBScript '800a0005' dilaporkan. Panggilan prosedur atau parameter tidak valid: 'chr'.
Kemarin, saya membuat ulang sistem di server perusahaan, tetapi saya mengalami masalah ketika lampiran Asp tidak dapat diunggah. Sebelumnya berfungsi dengan baik di server, tetapi tidak berfungsi dengan baik setelah mengulanginya Saya akan mengirimkan Anda solusi di bawah ini untuk membantu saya mengatasi masalah ini. Teman yang memiliki masalah sebaiknya menghindari mengambil jalan memutar:
1. Masalah izin
Harap pastikan bahwa folder "pengguna tamu" tempat Anda mengunggah file memiliki izin yang dapat ditulisi. Beberapa file disimpan dalam database dan juga harus memiliki izin modifikasi.
2. Batas ukuran file
Untuk alasan keamanan, IIS 6 memiliki permintaan maksimum default sebesar 200K (yaitu, batas data maksimum yang dikirimkan adalah 200KByte, 204800Byte).
Larutan:Tutup layanan Layanan Admin IIS
Buka /Windows/system32/inesrv/metabase.xml
Ubah nilai ASPMaxRequestEntityAllowed sesuai kebutuhan Anda, defaultnya adalah 204800
Mulai Layanan Admin IIS
Setelah modifikasi, Anda juga perlu memodifikasi file machine.config
Di Asp.net, ukuran default file yang diunggah adalah 4096 KB, yaitu 4M, namun Anda dapat mengubah data ini di Web.config. Biasanya cara yang lebih umum adalah dengan langsung memodifikasi file machine.config di direktori C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/CONFIG (versi Framework akan berbeda, jadi masuk ke direktori versi mana yang Anda gunakan ). Temukan httpruntime dan ubah nilai maxRequestLength ke nilai ideal di baris ini.
3. Sistem Cina, menginstal patch IIS bahasa Inggris
Setelah diperiksa, ditemukan bahwa host yang digunakan oleh pelanggan adalah Windows versi Cina 2003, dan kemudian diubah ke ruang Windows versi bahasa Inggris, dan ada yang tidak beres.
Umumnya, masalah yang sama terkadang terjadi setelah sistem mengupgrade IIS atau menerapkan patch. Kita hanya perlu menambahkan sepotong kode sebelum file ASP.
<!-- harus menjadi garis pertama di ASP -->
<% @LCID=4100 %>
4.Masalah bahasa
Atur pengaturan regional di panel kontrol ke [China]
5. Masalah tanggal dan waktu
Di panel kontrol, buka opsi regional dan bahasa. Di opsi regional, atur format waktu ke: H:mm:ss, dan ubah zona waktu ke Beijing di "Tanggal dan Waktu" di panel kontrol. Alasan saya mengubahnya adalah karena beberapa lampiran dinamai berdasarkan waktu. Jika format waktu salah, program akan melaporkan kesalahan)
6. Nama atau jalur Cina yang digunakan untuk file yang diunggah
Jika Anda menggunakan unggahan tanpa komponen ASP, karena bahasa Mandarin tidak didukung, Anda perlu memeriksa apakah jalur unggahan berisi bahasa Mandarin.
7. Kesalahan "Kesalahan runtime Microsoft VBScript '800a0005' Panggilan prosedur atau parameter tidak valid: kesalahan 'chr'" dilaporkan (milik saya termasuk dalam masalah seperti ini)
Kesalahan runtime Microsoft VBScript '800a0005' Panggilan atau argumen prosedur tidak valid: 'Chr' /admin/inc/UPLOAD.INC,
Baris 75 Kesalahan seperti itu mungkin terjadi karena server menggunakan versi bahasa Inggris, karena fungsi Chr mengembalikan String, yang berisi karakter yang terkait dengan kode karakter yang ditentukan.
Sintaks terkait: Chr(charcode) Parameter charcode yang diperlukan adalah Long yang digunakan untuk mengidentifikasi karakter tertentu. Catatan: Angka antara 0 dan 31 sama dengan kode ASCII non-cetak standar.
Misalnya, Chr(10) mengembalikan karakter baris baru. Kisaran normal kode karakter adalah 0 – 255. Namun, pada sistem DBCS, kisaran charcode sebenarnya adalah -32768 hingga 65535. Catatan: Fungsi ChrB beroperasi pada data byte yang terkandung dalam sebuah String. ChrB selalu mengembalikan satu byte, bukan mengembalikan karakter, yang mungkin satu atau dua byte. Fungsi ChrW mengembalikan String yang berisi Unicode. Pada platform yang tidak mendukung Unicode, fungsinya sama dengan fungsi Chr.
Jadi ganti saja chr pada baris kode error 75: stemp=stemp&chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c))) dengan chrw.