Vor kurzem muss ich Dateiendateien im Projekt hochladen. Ich habe es schon immer per Formular eingereicht. Ich habe Ajaxform ausprobiert und es fühlt sich an, dass es sehr nützlich ist. Ich habe eine Aufsatzmarke für die zukünftige Verwendung geschrieben.
Vorbereitung:
Laden Sie jQuery-form.js herunter
Verwandte Glas:
Commons-fileUpload-1.1.1.jar
commons-io-1.3.2.jar
Konfigurieren Sie Multipartresolver in feder-servlet.xml:
<bean id = "multipartresolver"> <Eigenschaft name = "defaultCoding" value = "utf-8" /> <Eigenschaft name = "maxUploadSize" value = "10485760000" /> <Eigenschaft name = "MaxinMemorySize" value = "40960" /> < /lean>
Dies ist ein Muss, sonst funktioniert es nicht.
Seite:
<! DocType html public "-// w3c // dtd html 4.01 transitional // en" "http://www.w3.org/tr/html4/loose Session = "False" %> <html> <!--Autor (s): xieshuang- Datum: 2016-06-20 13: 46: 20- Beschreibung:-> <titel> Titel </title> <meta http-equiv = "content-type" content = "text/html; src = "<%= request.getContextPath ()%>/Common/nui/nui.js" type = "text/javaScript"> </script> <script src = "<%= request.getContextPath ()%>/commor/nui/jquery/jquery-sform.js" type = "text/javaScript"/JavaScript ". src = "<%= request.getContextPath ()%>/page4nui/master/projectType/js/projectType_import.js"> </script> <script type = "text/javascript"> var contextPath = "<%= request.getContextPath ()%>"; 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: rot; width: 5%;"> *</font> </td> </tr> </table> </div> <div align = "center"> <Eingabe iconcls = "icon-oc" value "value =" ok "type"/> <span style = ". iconcls = "icon-cancel" onclick = "cancel"> abbrechen </a> </div> </form> </div> </body> </html>
Kern JS:
var msg; $ (function () {nui.parse (); // ajax configuration var options = {url: contextPath+"/webapp/cfProjecttype/importexcel", beforsubmit: showRequest, // vorhanden: showResponse, // Verfeinerung der Vervollständigung der Vervollständigung, agaType: true: datytyp: 'jon' $ '. {// beachten Sie $ (this) .AjaxSubmit (Optionen); if (e.importflag == true) {closeWindow ("ok"); } else {// einige Fehler von Fehlern}} // eine Überprüfung vor der Einreichungsfunktion ShowRequest (FormData, JQForm, Optionen) {if (formData [0] .Value == "" || || FormData [0] .Value == NULL) {nui.alert ("Bitte" bitte "Datei auswählen"); false zurückgeben; } var Filename = $ ("#UploadFile"). Val (). Split ("//"). Pop (); var strs = new Array (); // Definieren Sie ein Array Strs = Dateiname.split ('.'); var suffix = strs [strs .Length - 1]; if (suffix! = 'xls' && suffix! false zurückgeben; } msg = nui.loading ("Laden", "Bitte warten");}Java -Code:
@SuppressWarnings ("Deaktiviert")@requestmapPing ("/webapp/cfProjecttype/importexcel")@responseBodypublic map <String, Objekt> Importexcel (@RequestParam ("Datei") MultiPartFile [] Dateien, httpServletrequestweuchten) throwable {/ // Long starttiem = system.CUrtrequest). InputStream FIS; fis = null; DateieIn = null; Versuchen Sie {für (MultiPartFile MyFile: Dateien) {if (! myFile.isempty ()) {String realPath = request.getSession (). getServletContext (). getRealPath ("/exportieren"); FileIn = New Datei (RealPath); // Beurteile, ob das Verzeichnis, in dem die hochgeladene Datei vorliegt, if (! FileIn.exists () &&! FileIn.isdirectory ()) {// Erstellen Sie die Verzeichnis fileIn.mkdirs (Pfad); } // Die hochgeladene Datei in die Ordner myfile.transferto (neue Datei (Pfad+Dateiname)) kopieren; }}}}Hier habe ich zuvor eine andere Methodendateiutils.copyInputStreamtofile (InputStream Arg0, Datei arg1) verwendet, die die Datei auch auf dem Pfad speichern kann.
Weitere aufregende Inhalte finden Sie in den speziellen Themen "Ajax Upload Technology Summary", "JavaScript -Datei -Upload -Vorgangsübersicht" und "JQuery Upload Operation Summary" für das Lernen.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.