本文实例为大家分享了 Java a, 具体内容如下
1 代码 java 、 :
패키지 com.github.reston.servlet; import java.io.file; import java.io.fileoutputStream; import java.io.ioexception; import java.io.printwriter; import java.util.iterator; import java.util.list; import javax.servlet.servletconfig; import javax.servlet.servletexception; import javax.servlet.annotation.webservlet; import javax.servlet.http.httpservlet; import javax.servlet.http.httpervletrequest; import; javax.servlet.http.httpservletresponse; import org.apache.commons.fileupload.fileitem; import org.apache.commons.fileupload.fileitemfactory; import org.apache.commons.fileupload.disk.diskfileitemfactory; import org.apache.commons.fileupload.servletfileupload; org.apache.commons.io.ioutils; @webservlet ( "/ajaxupload") public class ajaxupload는 httpservlet {@override public void init (servletconfig config) servletexception {// 자동 생성 메소드 stub super.init (config); } @override Protected Void Service (httpservletrequest 요청, httpservletResponse 응답) servletexception, ioexception {response.setContentType ( "text/html"); request.setcharacterencoding ( "UTF-8"); 부울 ismultipart = servletfileupload.ismultipartContent (요청); String BasePath = getServletContext (). getRealPath ( "/Upload"); file basedirectory = 새 파일 (Basepath); 문자열 filename = ""; 긴 시작 = 0; if (! basedirectory.isdirectory ()) basedirectory.mkdirs (); if (ismultipart) {try {fileItemFactory factory = new DiskFileItemFactory (); ServletFileUpload 업로드 = 새로운 ServletFileUpload (공장); @SuppressWarnings ( "선택 취소") 목록 <fileItem> fileItems = upload.parsEerquest (요청); for (fileItem i : fileItems) {if (i.isformfield ()) {String name = i.getfieldName (); 문자열 값 = i.getString (); if (name.equals ( "start")) start = long.parselong (i.getString ()); }} for (fileItem 항목 : fileItems) {if (item.isformfield ()) 계속; filename = item.getfieldName (); if (mkdir (basepath)) {file fileonserver = createfile (Basepath, filename); if (fileonserver.length () == 0) {fileoutputStream fos = new FileOutputStream (fileOnserver, true); ioutils.copy (item.getInputStream (), fos); } if (start> 0) {FileOutputStream fos = 새 FileOutputStream (fileOnserver, true); ioutils.copy (item.getInputStream (), fos); } printwriter pw = response.getWriter (); pw.write ( "{/"length/":/" "+fileonserver.length ()+"/"}"); pw.flush (); }}} catch (예외 e) {}}} 개인 파일 createFile (문자열 경로, 문자열 이름)은 ioException {file tmp = 새 파일 (path, name); if (! tmp.exists ()) {tmp.createnewfile (); } return tmp; } private boolean mkdir (문자열 경로) {부울 결과 = true; 파일 tmp = 새 파일 (Path); if (! tmp.isdirectory ()) {result = tmp.mkdirs (); } 반환 결과; }}2 代码 Java 、 :
var ajaxupload = function (e) { / ** * e url 메소드 데이터 성공 오류 * / var xmlhttprequest; if (wind if (xmlhttprequest.overRidemImeType) {xmlhttprequest.overRidemImeType ( "text/xml"); }} else if (wind for (var i = 0; i <activename.length; i ++) {try {xmlhttprequest = new ActiveXobject (activeName [i]); 부서지다; } catch (e) {return; }}} if (xmlhttprequest == undefined || xmlhttprequest == null) {alert ( "xmlhttprequest 对象创建失败!!"); 반품; } else {this.xmlhttp = xmlhttprequest; } var file = document.getElementById (e.id); if (this.xmlhttp! = undefined && this.xmlhttp! = null) {e.method = e.method.touppercase (); if (e.method! = "get"&& e.method! = "post") {alert ( "http 的请求方法必须为 get 或 post !!!"); 반품; } if (e.url == null || e.url == undefined) {e.alert ( "http 的请求地址必须设置!"); 반품; }} this. this.xmlhttp.onreadyStateChange = function () {if (this.readystate == 4) {if (this.status == 200) {var responteetxt = this.responsetext; var responsexml = this.reponsexml; if (e.success == undefined || e.success == null) {alert ( "没有设置处理数据正确返回的方法"); Alert ( "返回的数据 :" + responsetext); } else {e.success (responsetext, responsexml); }} else {if (e.error == undefined || e.error == null) {alert ( "没有设置处理数据返回失败的处理方法!"); 경고 ( "http 的响应码 :" + this.status + ", 响应码的文本信息 :" + this.statUstext); } else {e.error (this.status, this.statUStext); }}}}} // var formhtm = "<form id = 'output'EncType = 'multipart/form-data'> </form>"; var filename = getFilename (e.id); this.xmlhttp.open (e.method, e.url, true); var data = new FormData (document.getElementById ( "output")); data.Append ( "이름", 파일 이름); data.append ( "start", e.data.start); data.Append (filename, document.getElementById (e.id) .files [0] .Slice (e.data.start, getfilesize (e.id))); this.xmlhttp.send (data);} 함수 getFilename (id) {var path = document.getElementById (id) .Value var pos1 = path.lastIndexof ( '/'); var pos2 = path.lastindexof ( '//'); var pos = math.max (pos1, pos2); return path.substring (pos + 1);} 함수 getFilesize (id) {return document.getElementById (id) .files [0] .Size;}3 代码 html 代码 :
<! docType html> <html> <head> <meta http-equiv = "content-type"content = "text/html; charset = utf-8"> <script type = "text/javaScript"src = "test.js"> </script> </head> <input type = "upload" "upload" value = "/"/> <span> (小于 1g) </span> <input type = "button"value = "上传"onclick = "test ();"/> <form id = "output"Enctype = "multipart/form-data"> </form> <script> function> {ajaxupload ({id : upload ", urload). "/pcc/reston/ajaxupload", 메소드 : "post", data : {start : 0}, success : function (e) {var l = json.parse (e) .length; "/pcc/reston/ajaxupload", 메소드 : "post :} : 함수 (e) {console.log (e)}; } </script> </body> </html>以上就是本文的全部内容 以上就是本文的全部内容, 希望对大家学习 java 程序设计有所帮助。