Недавно мне нужно загрузить файлы файлов в проект. Я всегда отправлял его по форме раньше. Я попробовал Ajaxform, и кажется, что это весьма полезно. Я написал марку эссе для будущего использования.
Подготовка:
Скачать jQuery-form.js
Связанная банка:
Commons-FileUpload-1.1.1.jar
Commons-IO-1.3.2.jar
Настройте Multipartresolver в Spring-servlet.xml:
<bean id = "multiartresolver"> <name = "defaultEncoding" value = "utf-8" /> <name = "maxUploadSize" value = "10485760000" /> <name = "maxInmemorySize" value = "40960" /> < /bean>
Это обязательно, иначе это не сработает.
страница:
<! Doctype html public "-// w3c // dtd html 4.01 transitional // en" "http://www.w3.org/tr/html4/loose.dtd"><%" page = "java" contentType = "text/html; harset = utf-8" page = "java" = "html = utf-8" page = "java" = html = utf-8 "uTf-8" Session = "false" %> <html> <!---Автор (S): Xieshuang- Дата: 2016-06-20 13: 46: 20- Описание:-> <Head> <title> tit src = "<%= request.getContextPath ()%>/common/nui/nui.js" type = "text/javascript"> </script> <script src = "<%= request.getContextPath ()%>/common/nui/jquery/jquery-form.js" type = " type = "text/javaScript" src = "<%= request.getContextPath ()%>/page4nui/master/projecttype/js/projecttype_import.js"> </script> <script type = "text/javascript"> var context vare = "<%= request.getContextPath ()%>"; Style = "Padding-top: 5px; min-width: 300px; min-height: 180px;"> <form id = "fileupload" method = "post" enctype = "Multipart/form-data"> <div Id = "DataImport"> <Trtype> <th align = "right"> select file: </th> <td> <the inpit ud> "upt ud" = uptail "uptile" = uptail "= witile" = uptale "= witile". name = "file"> <font style = "color: red; width: 5%;"> *</font> </td> </tr> </table> </div> <div align = "center"> <inconcls = "icon-ok" iconcls = "Icon-cancel" onclick = "cancel"> Cancel </a> </div> </form> </div> </body> </html>
Core JS:
var msg; $ (function () {nui.parse (); // ajax configuration var options = {url: contextpath+"/webapp/cfprojecttype/importexcel", beforesubmit: showRequest, // настоящий успех: showresponse, // upporting resetform: true, datAtype: 'Json'}; $ ('#fileupload'). Recod (function () {// Примечание $ (this) .ajaxSubmit (options); вернуть false; // Предотвратить диалог автоматического закрытия});}) // Выполнить функцию успешной функции вызова ShowResponse (e) {nui.hidemessagebox (msg); if (e.importflag == true) {blosewindow ("ok"); } else {// некоторая обработка ошибок}} // Некоторая проверка перед функцией подачи ShowRequest (formData, jqform, options) {if (formData [0] .value == "" || formData [0]. вернуть ложь; } var fileName = $ ("#uploadfile"). val (). Split ("//"). pop (); var strs = new Array (); // определить массив strs = filename.split ('.'); var Suffix = strs [strs .length - 1]; if (суффикс! = 'xls' && суффикс! = 'xlsx') {nui.alert ("Пожалуйста, выберите файл Excel!"); вернуть ложь; } msg = nui.loading ("загрузка", "Пожалуйста, ожидая");}Код Java:
@Suppresswarnings ("unchecked")@requestmapping ("/webapp/cfprojecttype/importexcel")@responsbodypublic map <string, объект> importexcel (@requestparam ("file") multipartfile [] files, httpservlectrequest) throwable {//long starttiem = systembrettimtrequest) throwable {//long starttiem = systemlimttimtrequest); InputStream FIS; fis = null; File filein = null; try {for (Multiplaartfile myfile: files) {if (! myfile.isempty ()) {string realpath = request.getSession (). getServletContext (). getRealPath ("/export"); filein = новый файл (RealPath); // Судите, существует ли каталог, в котором загруженный файл существует if (! Filein.exists () &&! Filein.isdirectory ()) {// Создать каталог filein.mkdirs (path); } // Скопируйте загруженный файл в папку myfile.transferto (новый файл (path+filename)); }}}}Здесь я использовал еще один метод fileutils.copyinputstreamtofile (inputstream arg0, file arg1), который также может сохранить файл на пути.
Для получения более захватывающего контента, пожалуйста, обратитесь к специальным темам «Сводка технологии загрузки AJAX», «Сводка операции загрузки файла JavaScript» и «Сводка операции загрузки jQuery» для обучения.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.