鍙堜細(xì)璋冪敤鍏剁埛鐖風(fēng)被FileUploadBase鐨刾arseRequest(request)鏂規(guī)硶錛岀劧鍚庡張浼?xì)璋價(jià)eturn parseRequest(new ServletRequestContext(request)),浠g爜濡備笅
聽聽聽聽聽聽聽聽try聽{
聽聽聽聽聽聽聽聽聽聽聽聽FileItemIterator聽iter聽=聽getItemIterator(ctx);
聽聽聽聽聽聽聽聽聽聽聽聽List聽items聽=聽new聽ArrayList();
聽聽聽聽聽聽聽聽聽聽聽聽FileItemFactory聽fac聽=聽getFileItemFactory();
聽聽聽聽聽聽聽聽聽聽聽聽if聽(fac聽==聽null)聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽throw聽new聽NullPointerException(
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽"No聽FileItemFactory聽has聽been聽set.");
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽while聽(iter.hasNext())聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽FileItemStream聽item聽=聽iter.next();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽FileItem聽fileItem聽=聽fac.createItem(item.getFieldName(),
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽item.getContentType(),聽item.isFormField(),
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽item.getName());
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽try聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽Streams.copy(item.openStream(),聽fileItem.getOutputStream(),
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽true);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}聽catch聽(FileUploadIOException聽e)聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽throw聽(FileUploadException)聽e.getCause();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}聽catch聽(IOException聽e)聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽throw聽new聽I(yíng)OFileUploadException(//鎶ラ敊緇忓父鍦ㄨ繖閲?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽"Processing聽of聽"聽+聽MULTIPART_FORM_DATA
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽+聽"聽request聽failed.聽"聽+聽e.getMessage(),聽e);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if聽(fileItem聽instanceof聽FileItemHeadersSupport)聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽final聽FileItemHeaders聽fih聽=聽item.getHeaders();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽((FileItemHeadersSupport)聽fileItem).setHeaders(fih);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽items.add(fileItem);
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽return聽items;
聽聽聽聽聽聽聽聽}聽catch聽(FileUploadIOException聽e)聽{
聽聽聽聽聽聽聽聽聽聽聽聽throw聽(FileUploadException)聽e.getCause();
聽聽聽聽聽聽聽聽}聽catch聽(IOException聽e)聽{
聽聽聽聽聽聽聽聽聽聽聽聽throw聽new聽FileUploadException(e.getMessage(),聽e);
聽聽聽聽聽聽聽聽}
聽聽聽聽
聽榪欓噷娉ㄦ剰,涓婁紶鐨?lt;input type=file