Contoh ini membagikan kode spesifik springmvc menggunakan MultipartFile untuk mengimplementasikan unggahan file untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
1. File Konfigurasi
SpringMVC menggunakan MultipartFile untuk mengunggah file, jadi pertama -tama kita perlu mengonfigurasi multipartresolver: untuk memproses file dalam bentuk
<!-Mengkonfigurasi multipartresolver commoSmultipartresolver untuk unggah file menggunakan spring-> <beans: bean id = "multipartresolver" p: defaultencoding = "utf-8" p: maxuploadsize = "5400000" p: unggahtempdir = "FileUpload/Temp"> </5400000 "P: unggahan:" FileUpload/TEMP "> </5400000"
Atribut dijelaskan secara rinci:
DefaultEncoding = "UTF-8" adalah format penyandian yang diminta, default ISO-8859-1
Maxuploadsize = "5400000" adalah ukuran file yang diunggah, dalam byte
unggahtempdir = "fileupload/temp" adalah jalur sementara untuk mengunggah file
2. Buat formulir unggahan sederhana
<hody> <h2> instance unggah file </h2> <form Action = "fileupload.html" Method = "POST" ENCTYPE = "multipart/form-data"> Pilih file: <input type = "file" name = "file"> <input type = "kirim" value = "kirim"> </form> </body>
Perhatikan bahwa Anda harus menambahkan enctype = "multipart/form-data" ke tag formulir untuk menunjukkan bahwa formulir perlu memproses file. Ini adalah hal yang paling mendasar. Banyak orang akan melupakan kesalahan mencari program setelah kesalahan unggahan, tetapi lupakan poin ini.
3. Tulis kelas kontrol unggahan
1. Buat kelas kontrol: FileuploadController dan halaman yang mengembalikan daftar hasil.jsp
2. Tulis tindakan untuk mengirimkan formulir
// Dapatkan permintaan konfigurasi default Spring melalui Annotation Autowired Spring @Autowired Private HTTPServletRequest permintaan; / *** * Unggah file dengan anotasi @RequestParam untuk menentukan bahwa file pada formulir adalah multipartfile * * @param file * @return */ @RequestMapping ("Fileuppload") public string Fileupload (@RequestParam ("file") file multipartfile) {// Tentukan apakah file tersebut kosong jika dikosong filePath = request.getSession (). getSerVletContext (). getRealPath ("/") + "unggah/" + file.getoriginalFileName (); // transferto (file baru (filepath)); } catch (Exception e) {E.PrintStackTrace (); }} // redirect return "redirect: /list.html"; }/*** * Baca semua file dalam file yang diunggah dan return * * @return */@RequestMapping ("Daftar") Public ModelAndView List () {String filePath = request.getSession (). GetServLetContext (). GetRealPath ("/") + "unggah/"; ModelAndView mav = new ModelAndView ("Daftar"); File unggahdest = file baru (filepath); String [] fileNames = unggahDest.list (); untuk (int i = 0; i <filenames.length; i ++) {// cetak nama file system.out.println (fileNames [i]); } return mav; } 3. Gunakan SpringMVC Annotation RequestParam untuk menentukan parameter file dalam formulir;
4. Tentukan jalur proyek web untuk menyimpan file
5. Metode Transferto (File Dest) dari Multipartfile ke jalur yang ditentukan.
Pada titik ini, unggahan file dasar sudah berakhir.
Beberapa metode yang umum digunakan dari kelas multipartfile:
String getContentType () // Dapatkan jenis file mime
InputStream getInputStream () // lalu pergi ke streaming file
String getName () // Dapatkan nama komponen file dalam formulir
String getoriginalFileName () // Dapatkan nama asli dari file yang diunggah
Long getSize () // Dapatkan ukuran byte file, unit byte
boolean isempty () // apakah itu kosong
void transfererto (file dest) // simpan ke file target.
4. Upload beberapa file
Mengunggah beberapa file sebenarnya sangat sederhana. Sama seperti mengunggah parameter yang sama lainnya, seperti kotak centang, gunakan nama yang sama dalam formulir, dan kemudian tentukan kelas parameter MultipartFile sebagai array dalam tindakan.
Implement berikutnya:
1. Buat formulir yang mengunggah beberapa file:
<hody> <h2> Unggah beberapa file instance </h2> <form Action = "FileSupload.html" Method = "POST" ENCTYPE = "Multipart/Form-Data"> <p> Pilih File: <Input Type = "File" <per> <p> Pilih File: <Input Tipe = "File" Name "Name"> <per> <p> Input: <Input Tipe = "File" Name "Name"> <per "Input" <p> type = "kirim" value = "kirim"> </form> </body>
2. Tulis tindakan untuk memproses formulir dan tulis metode terpisah untuk menyimpan file untuk memfasilitasi berbagi:
/**** Simpan file* @param File* @return*/private boolean saveFile (file multipartfile) {// Tentukan apakah file tersebut kosong jika (! File.isempty ()) {coba {// File Simpan string string file ("). // transferto (file baru (filepath)); Kembali Benar; } catch (Exception e) {E.PrintStackTrace (); }} return false; } 3. Tulisan Tulis: @RequestMapping ("FileSupload") Public String Filesupload (@RequestParam ("File") MultipartFile [] File) {// Juri array file tidak dapat kosong dan panjangnya lebih besar dari file (file null! File multipartfile = file [i]; // simpan file saveFile (file); }} // redirect return "redirect: /list.html"; }Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.