星空网 > 软件开发 > Java

利用servlet3.0上传,纯原生上传,不依赖任何第三方包

tomcat7里面自带的servlet3.0.jar,支持很多新特性,例如,annotation配置servlet,上传,异步等等。。。。

如果你的tomcat版本低于7的话,单独在项目中引入servlet3.0.jar的话,有可能会出错,具体没研究过,可能是不兼容吧。所以要使用servlet3.0新特性的话,尽量使用tomcat7

不多说了,贴上代码

@WebServlet(name = "uploadServlet", urlPatterns = "/uploadServlet")@MultipartConfigpublic class ServletUpload extends HttpServlet {  private static final long serialVersionUID = 2527441790014487640L;  @Override  public void doGet(HttpServletRequest request, HttpServletResponse response) {    doPost(request, response);  }  @Override  public void doPost(HttpServletRequest request, HttpServletResponse response) {    try {      request.setCharacterEncoding("utf-8");      response.setCharacterEncoding("utf-8");      response.setContentType("text/html;charset=utf-8");      Collection<Part> parts = request.getParts();      if (null == parts) {        // 抛出异常      }      for (Part part : parts) {        String header = part.getHeader("content-disposition");        String fileName = getFileName(header);        part.write("d:/" + fileName);      }    } catch (UnsupportedEncodingException e) {      e.printStackTrace();    } catch (IOException e) {      e.printStackTrace();    } catch (ServletException e) {      e.printStackTrace();    }  }  /**   * 获得文件名 fileName-----取得上传文件的后缀+uuid   *   * @param header   * @return   */  private String getFileName(String header) {    String suffix = header.substring(header.lastIndexOf("."),        header.length() - 1);    String fileName = UUID.randomUUID().toString().replace("-", "");    return fileName + suffix;  }}

看起来是不是很简单吧,@MultipartConfig标注主要是为了辅助Servlet3.0中HttpServletRequest提供的对上传文件的支持。该标注写在Servlet类的声明之前,一表示该Servlet希望处理的请求时multipart/form-data类型的。另外,该标注还提供了若干属性用于简化对上传文件的处理

@MultipartConfig标注属性

fileSizeThershold         int型        是(可选)     描述:当前数据量大于该值时,内容将被写入文件。

location                  String型       是(可选)     描述:存放生成文件的地址

maxFileSize             long型         是(可选)     描述:允许上传的文件最大值,默认为-1,表示没有限制

maxRequestSize      long型         是(可选)     描述:针对 multipart/form-data 请求的最大数量,默认为-1,表示没有限制




原标题:利用servlet3.0上传,纯原生上传,不依赖任何第三方包

关键词:上传

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

速卖通新手刷单需要绕过哪些弯路?:https://www.ikjzd.com/articles/113069
关于亚马逊广告“否定关键词”,你必须了解这些!:https://www.ikjzd.com/articles/11307
怎样运营一个新的跨境电商店铺?:https://www.ikjzd.com/articles/113070
亚马逊老司机教你如何安全留评打造爆款!:https://www.ikjzd.com/articles/113071
速卖通店铺常见引流方式有哪些,卖家怎样提升转化?:https://www.ikjzd.com/articles/113072
2018亚马逊黑五倒计时!这些黑五爆单技巧卖家不得不知道!:https://www.ikjzd.com/articles/11308
亚马逊旺季运营攻略:https://www.xlkjsw.com/news/39627.html
亚马逊突破发货限制的操作原理及应对方法:https://www.xlkjsw.com/news/39628.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流