精简Servlet3.0进行图片上传

阅读: 评论:0

精简Servlet3.0进行图片上传

精简Servlet3.0进行图片上传

上传文件的方法就哪几种,但总感觉麻烦一点也不精简,就struts2的方法稍好一点。

下面的方法在之前写的Servlet3.0方法之上进行再次精简,应该是最易懂易用的,但是普通表单域是不能通过Parameter来获得(因为二进制流解析),来看看吧~



1.upload.jsp  文件上传表单

  <body>
  <div class="form" align="center">
  <form action="UploadServlet"  enctype="multipart/form-data"  method="post" >
    select:<input type="file" name="file">
    param:<input name="param"/><br/>
    <input type="submit" value="submit">
    </form>
  </div>
  </body>


2.UploadServlet.java 文件上




@WebServlet("/UploadServlet")
@MultipartConfig

public class UploadServlet extends HttpServlet{
private String filePath; //文件保存路径

private static final long serialVersionUID = 3465909202303185511L;

@Override
public void init(ServletConfig config) throws ServletException {
// TODO Auto-generated method stub
super.init(config);
}

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
super.doGet(req, resp);
}


@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// 对请求包设置编码
req.setCharacterEncoding("utf-8");
// 告知tomcat如何编码,浏览器如何解码
resp.setContentType("text/html; charset=utf-8");

//获得项目的根目录,并设计文件保存路径
filePath=getServletContext().getRealPath("/image");

// 为了简单,后面也直接就以fileName作为保存文件的名称
SimpleDateFormat dateFormat=new SimpleDateFormat("yyMMddHHmmss");


String fileName=dateFormat.format(new Date())+".jpg";

//获取文件类型和大小
Part part = Part("file");
System.out.ContentType());
System.out.Size());

//获得文本字段,下面方法不可行,只能解析英文和数字,中文即使编码也不行。
String param&#Parameter("param");
System.out.println("只能中文哦:"+param);

Collection<String> headerNames = HeaderNames();

// 遍历文件上传域的Header Name
for (String headerName : headerNames) {
System.out.println(headerName + "---->" + Header(headerName));


}
// 将文件保存到项目下的uploads文件夹下,为了简单这里没写判断目录是否存在及创建目录的操作,要先确保该目录已经存在
part.write(filePath + "/" + fileName);
System.out.println("文件保存在:"+filePath+fileName);
RequestDispatcher("/index.jsp").forward(req, resp);
}
}


本文发布于:2024-01-29 17:28:54,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170652054017070.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图片上传
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23