具体代码如下所示:
*** web.xml *** <?xml version = "1.0" encoding = "utf-8"? xmlns:web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd "id =" webapp_id "バージョン=" 2.5 "> <サーブレット> <サーブレット名> fileupload </servet-name> <servet-class> cn.com.ferpload </servlet> <Servlet-Name> fileupload </servlet-name> <url-pattern>/fileupload </url-pattern> </servlet-mapping> </web-app>
パッケージcn.com.action; import java.io.file; import java.io。*; import java.io.ioexception; import java.util.list; import javax.servlet.servletexception; import javax.servlet.servlet.http.httpservlet; javax.servlet.http.httpservletresponse; Import org.apache.commons.fileupload.fileitem; Import org.apache.commons.fileupload.fileuploadexception; Import org.apache.commons.fileupload.disk.disk.disk.disk.fileupload; org.apache.commons.fileupload.servlet.servletfileupload;/** * * @author管理者 *文件上传 *具体步骤 * servletfileupload upload = new servletfileupload(Factory); *目的是调用Parserequest(リクエスト)方法 fileitem集合リスト、 * * 5 )在 fileitem对象中、遍历、遍历、判断判断表单提交过来的信息是否是 * 6) *第一种。 用第三方用第三方アイテム。 直接写到磁盘上 *第二种。 手动处理 * */public class fileuploadはhttpservletを拡張します{public void doget(httpservletrequest request、httpservletresponse response)servletexception、ioexception {request.setcharacterencoding( "utf-8"); //设置编码// // string path = request.getRealPath( "/upload1"); // string path = "c:/upload1"; //如果没以下两行设置的话、上传大的、上传大的、// //设置、当上传文件的容量超过该缓存时、当上传文件的容量超过该缓存时、直接放到factory.setsizethReshold(1024*1024); // try {//可以上传多个文件list<fileitem> list =(list <fileitem>)upload.parserequest(request); for(fileitem item:list){//获取表单的属性名字文字列名= item.getFieldName(); //如果获取的如果获取的表单信息是普通的if(item.isformfield()){//获取用户具体输入的字符串、名字起得挺好、因为表单提交过来的是因为表单提交过来的是文字列value = item.getString(); request.setattribute(name、value); } else {//对传入的非对传入的非、比如说二进制的比如说二进制的、电影这些/** *以下三步、主要获取 *///获取路径名文字列値= item.getName(); // //截取上传文件的字符串名字、加1是、string filename = value.substring(start+1); request.setattribute(name、filename); //真正写到磁盘上//它抛出的异常/exceptioned //item.write(new file(path、filename)); //第三方提供的// inputstream in = item.getInputStream(); int length = 0; byte [] buf = new byte [1024]; System.out.println( "获取上传文件的总共的容量:"+item.getSize()); // in.Read(buf)每次读到的数据存放在buf数组中while((length = in.read(buf))!= -1){// buf } in.close(); out.close(); }}} catch(fileuploadexception e){e.printstacktrace(); } catch(Exception e){e.printstacktrace(); } request.getRequestDispatcher( "filedemo.jsp")。 } public void dopost(httpservletrequest request、httpservletResponse応答)servletexception、ioexception {doget(request、response); }}*** index.jsp *** <%@ page言語= "java" contentType = "text/html; charset = utf-8" pageencoding = "utf-8"%> <!doctype html public " - // w3c // dtd html 4.01 transitional // en" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv =" content-type "content =" text/html; charset = utf-8 "> <tittle> enctype = "multipart/form-data" method = "post">用户名称:<入力タイプ= "text" name "usename"> <br/>上传图片:<入力型= "file" name = "file1"> <br/>上传文件:<入力タイプ= "ファイル" name = "file2"> <br/> <入力タイプ= "
*** filedemo.jsp *** <%@ページ言語= "java" import = "java.util。*" pageencoding = "utf-8"%> <!用户名称:$ {requestscope.usename} <br />图片名称:$ {requestscope.file1} <br />文件名称:$ {requestscope.file2} <br /> <! - > <img src = "upload1 /<%=(string)request.getTribute(" file1 " /> < /> < /< /< /html>总结
以上所述是小编给大家介绍的java实现上传文件图片到指定服务器目录、希望对大家有所帮助、如果大家有任何疑问请给我留言、小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!