Servlet学习笔记 上传单个文件的方法

来源:互联网 发布:手机wifi拒绝接入网络 编辑:程序博客网 时间:2024/06/11 15:05

本篇博客介绍的是单个文件上传到tomcat服务器上的方法,下面开始介绍方法。
第一:首先要注意的是上传文件必须用的是post方法,用get的话则不能完成,form表单里需要在原来的基础上增加一个

enctype="multipart/form-data"这里要注意不要出错(很重要的!)

第二:这里要改变一下Servlet里面的处理内容,要增加一个注解

@MultipartConfig(location="d:/")(其中(location="d:/")说明的是你要上传的文件保存的位置)

第三:文件的命名方式,这里介绍两种文件的命名方式。
第一种比较简单,自己随意给上传的文件起一个名字。样例代码如下:

Part part=request.getPart("photo")//photo是你上传时的文件名part.write("first-photo")//保存的文件名这里可以随便起

第二种方式是获取上传文件的名字,进行保存,下面介绍主要的代码

 private  String getfilename(Part part)        {              String header=part.getHeader("Content-Disposition");//获取头为Content-Disposition的内容              String filename=header.substring(header.indexOf("filename=\"")+10,header.lastIndexOf("\""));//截取filename之后的内容也就是上传是文件的名字了              return filename;        }

下面附上一个dopost方法里面的完整的代码

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException    {        // TODO Auto-generated method stub        request.setCharacterEncoding("UTF-8");         response.setContentType("text/html;charset=UTF-8");         PrintWriter out=response.getWriter();         String names=request.getParameter("username");         out.println(names);    String s=getfilename(part);//第二种方法      part.write(s);        part.write("first-photo.jpg");//第一种方法         out.close();    }     private  String getfilename(Part part)        {              String header=part.getHeader("Content-Disposition");              String filename=header.substring(header.indexOf("filename=\"")+10,header.lastIndexOf("\""));              return filename;        }}
阅读全文
0 0
原创粉丝点击