Bagaimana saya bisa mengatur nilai ini?
<input type="file" />
javascript
html
file-upload
preset
Alon Gubkin
sumber
sumber
Jawaban:
Anda tidak bisa, karena alasan keamanan.
Membayangkan:
Anda tidak ingin situs web yang Anda kunjungi dapat melakukan ini, bukan? =)
sumber
Kamu tidak bisa
Satu-satunya cara untuk menetapkan nilai input file adalah oleh pengguna untuk memilih file.
Ini dilakukan untuk alasan keamanan. Kalau tidak, Anda akan dapat membuat JavaScript yang secara otomatis mengunggah file tertentu dari komputer klien.
sumber
Bukan jawaban untuk pertanyaan Anda (yang dijawab orang lain), tetapi jika Anda ingin memiliki beberapa fungsi edit bidang file yang diunggah, yang mungkin ingin Anda lakukan adalah:
<input>
tag untuk meng-upload file barusumber
<input type="file" />
ke gambar produk yang ada? Saya dapat menampilkan gambar yang ada dalam<img />
tag tetapi ketika saya mengirimkan file tidak lewat.Kamu tidak bisa Dan itu adalah langkah pengamanan. Bayangkan jika seseorang menulis JS yang menetapkan nilai input file ke beberapa file data sensitif?
sumber
Seperti yang dinyatakan oleh semua orang di sini: Anda tidak dapat mengunggah file secara otomatis dengan JavaScript.
NAMUN! Jika Anda memiliki akses ke informasi yang ingin Anda kirim dalam kode Anda (yaitu, bukan passwords.txt), maka Anda dapat mengunggahnya sebagai gumpalan -jenis, dan kemudian memperlakukannya sebagai file.
Apa yang akhirnya dilihat oleh server tidak dapat dibedakan dari seseorang yang benar-benar menetapkan nilai
<input type="file" />
. Caranya, pada akhirnya, adalah memulai XMLHttpRequest () baru dengan server ...Jadi, untuk apa Anda bisa menggunakan ini? Saya menggunakannya untuk mengunggah elemen kanvas HTML5 sebagai jpg. Ini menghemat pengguna dari keharusan untuk membuka
file
input
elemen, hanya untuk memilih gambar lokal, dalam cache yang baru saja mereka ubah ukurannya, dimodifikasi, dll. Tapi itu harus bekerja untuk semua jenis file.sumber
1) Masalah nilai default dalam input file TIDAK "dilakukan karena alasan keamanan", tetapi browser "gagal untuk mengimplementasikannya, tanpa alasan yang baik": lihat laporan mendalam ini
2) Solusi sederhana dapat menggunakan input teks di atas input file, seperti di sini . Tentu saja Anda memerlukan beberapa kode untuk mengirim file, sekarang menggunakan nilai input teks dan bukan input file.
Dalam kasus saya, melakukan aplikasi HTA, itu bukan masalah, saya tidak menggunakan formulir sama sekali.
sumber
Tentukan dalam html:
Di JS:
Setelah:
sumber
Sebenarnya kita bisa melakukannya. kita dapat menetapkan nilai file default dengan menggunakan kontrol webbrowser di c # menggunakan FormToMultipartPostData Library. Kita harus mengunduh dan memasukkan Library ini ke dalam proyek kita. Webbrowser memungkinkan pengguna untuk menavigasi halaman Web di dalam formulir. Setelah halaman web dimuat, skrip di dalam webBrowser1_DocumentCompleted akan dieksekusi. Begitu,
Lihat tautan di bawah ini untuk mengunduh dan melengkapi referensi.
https://www.codeproject.com/Articles/28917/Setting-a-file-to-upload-inside-the-WebBrowser-com
sumber