Baru -baru ini, saya perlu mengunggah file file dalam proyek. Saya selalu mengirimkannya berdasarkan formulir sebelumnya. Saya mencoba Ajaxform dan rasanya cukup berguna. Saya menulis tanda esai untuk penggunaan di masa depan.
Persiapan:
Unduh jQuery-Form.js
Jar terkait:
Commons-Fileupload -.1.1.jar
commons-io-1.3.2.jar
Konfigurasikan MultiparTResolver di Spring-Servlet.xml:
<bean id = "multipartresolver"> <name properti = "DefaultEncoding" value = "UTF-8" /> <name properti = "MAXUPLOADSIZE" Value = "10485760000" /> <nama properti = "MAXInMemorySize" Value = "40960" /< /bean>
Ini adalah suatu keharusan, jika tidak itu tidak akan berhasil.
halaman:
<! Doctype html public "-// w3c // dtd html 4.01 Transisi // en" "http://www.w3.org/tr/html4/loose.dtd"> <" page = "java" contentype = "text/html; charset = page =" java "contentype =" text/html; html; charset = page = "java" contentype = "text/html; html; charset =" page- "" "" contentype = "text/html; html; charset =" page- "" "" contentype = "text/html; html; charset =" PAGE- "" "contentype =" Text/html; html; " %> <html> <!--penulis: xieshuang- Tanggal: 2016-06-20 13: 46: 20- Deskripsi:-> <Head> <Title> title </ title> <meta http-equiv = "content" content = "text/html; charset = utf-8"/> src="<%=request.getContextPath()%>/common/nui/nui.js" type="text/javascript"></script><script src="<%=request.getContextPath()%>/common/nui/jquery/jquery-form.js" type="text/javascript"></script><script type="text/javascript" src = "<%= request.getContextPath ()%>/page4nUi/master/projectType/js/ProjectType_import.js"> </script> <script type = "Text/JavaScript"> var contextPath = "<%= request.getContextPath ()%>"; </Script> </head = "<%= quest.getContextPath ()%"; </Script> </head> <%= quest.getContextPath ()%> "; </Script> </head> head =" BODE = "BODE =" style="padding-top:5px;min-width:300px;min-height:180px;"> <form id="fileUpload" method="post" enctype="multipart/form-data"> <div id="dataImport"> <table > <tr> <th align="right" >Select file: </th> <td> <input id="uploadFile" type="file" name = "File"> <font style = "color: red; width: 5%;"> *</font> </td> </tr> </able> </div> <div align = "center"> <input iconCls = "ikon-ok" value = "ok" type = "kirim"/<span style = "display: ain-block" nilai = "ok" = "kirim"/<span style = "display: ainin-block" well; well: well: load: spo? " iconcls = "Icon-Cancel" OnClick = "Cancel"> Batal </a> </div> </form> </div> </body> </html>
Core JS:
var msg;$(function(){nui.parse();//ajax configuration var options = { url: contextPath+"/webapp/cfProjectType/importExcel", beforeSubmit: showRequest, //Present success: showResponse, //Processing completion resetForm: true, dataType: 'json' }; $ ('#Fileupload'). Kirim (function () {// Catatan $ (this) .AJAXSUBMIT (opsi); return false; // Cegah dialog dari penutupan secara otomatis});}) // jalankan fungsi callback fungsi callback yang berhasil showResponse (e) {nui.hidemessageBox (msg); if (e.ImportFlag == true) {closeWindow ("ok"); } else {// Beberapa penanganan kesalahan}} // Beberapa verifikasi sebelum fungsi pengiriman showRequest (formdata, jqForm, opsi) {if (formdata [0] .value == "" || formData [0] .value == null) {nui.alert ("Harap silakan soal"); mengembalikan false; } var filename = $ ("#unggahfile"). val (). split ("//"). pop (); var strs = array baru (); // Tentukan array strs = filename.split ('.'); var suffix = strs [strs .length - 1]; if (suffix! = 'xls' && suffix! = 'xlsx') {nui.alert ("Silakan pilih file excel!"); mengembalikan false; } msg = nui.loading ("memuat", "tolong tunggu");}Kode Java:
@SuppressWarnings ("Uncecked")@RequestMapping ("/WebApp/CfProjectType/ImportExcel")@ResponseBodyPublic Map <String, Object> ImportExcel (@RequestParam ("File") MultipartFile [], httpserverRequest permintaan lemparan ("longserMle (httpserVlequest) lemparan lemparan {//long start {//long start {//long start {//long start {//long start {//long start {//long start {//long start {//long start {//long start {//long start permintaan = httpserverRequest) lemparan lemparan {//long start start {//long start martmur Inputstream fis; fis = null; File filein = null; coba {untuk (multipartfile myfile: file) {if (! myfile.isempty ()) {string realpath = request.getSession (). getServletContext (). getRealPath ("/export"); filein = file baru (realpath); // menilai apakah direktori di mana file yang diunggah ada jika (! Filein.exists () &&! Filein.isDirectory ()) {// Buat direktori filein.mkdirs (path); } // Salin file yang diunggah ke folder myfile.transferto (file baru (path+fileName)); }}}}Di sini saya telah menggunakan metode lain fileutils.copyInputStreamToFile (inputStream arg0, file arg1) sebelumnya, yang juga dapat menyimpan file ke jalur.
Untuk konten yang lebih menarik, silakan merujuk ke topik khusus "Ringkasan Teknologi Upload Ajax", "Ringkasan Operasi Pengunggahan File JavaScript" dan "Ringkasan Operasi Unggah JQuery" untuk Pembelajaran.
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.