下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
<html> <head> <Meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>上传图片</title> </head> <body> <center> <form action="upload_pic" method="post" enctype="multipart/form-data"> 文件:<input type="file" name="pic"/><br/> 描述:<input type="text" name="des"/><br/> <input type="submit" value="upload"/> </form> </center> </body> </html>
UploadPictureServlet.java
import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.UUID; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.servlet.servletexception; import javax.servlet.annotation.MultipartConfig; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; /** * Servlet implementation class UploadPictureServlet */ @MultipartConfig @WebServlet("/upload_pic") public class UploadPictureServlet extends HttpServlet { private static final long serialVersionUID = 1L; private String mimes="image/jpeg,image/gif,image/bmp,image/jpg"; protected void doPost(HttpServletRequest request,HttpServletResponse response) throws servletexception,IOException { response.setContentType("text/html;charset=gbk"); PrintWriter out=response.getWriter(); out.println("<html><head><title>文件上传</title></head><body>"); Part part=request.getPart("pic"); System.out.println(part); if(null!=part){ String mime=part.getContentType(); if(-1==mimes.indexOf(mime.toLowerCase())){ //不是图片 part.delete(); out.println("<script language='javascript'>alert('不是图片')</script>"); }else if(1024*1024*2<part.getSize()){ part.delete(); out.println("<script language='javascript'>alert('图片不能超出2M')</script>"); }else{ String fileName=getFileName(part); String extName=getExtName(fileName); long size=part.getSize(); String contentType=part.getContentType(); String path=this.getServletContext().getRealPath("pics"); String newFileName=UUID.randomUUID().toString()+extName; //存到服务器 part.write(path+File.separator+newFileName); out.println("<h1>上传成功!!!!</h1><ul>"); out.println("<li>客户端文件名:"+fileName+"</li>"); out.println("<li>ContentType:"+extName+"</li>"); out.println("<li>长度:"+size+"</li>"); out.println("<li>服务器上文件名:"+path+File.separator+newFileName+"</li>"); out.println("</ul>"); } } out.println("</body></html>"); out.close(); } //取得文件扩展名 public String getExtName(String fileName){ String extName=null; int index=fileName.lastIndexOf("."); if(-1!=index){ extName=fileName.substring(index); } return extName; } //取得文件名 public String getFileName(Part part){ String fileName=null; String hv=part.getHeader("content-disposition"); String pattern="(form-data; name=\"(.*?)\"; filename=\"(.*?)\")"; Matcher match=Pattern.compile(pattern).matcher(hv); if(match.find()){ fileName=match.group(3); } return fileName; } }
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。