注:本文转自《白煮蛋的博客》
Tomcat 6 或 Tomcat 7 中没有组件或外部库
在web.xml文件中启用上传:
手动安装 PHP、Tomcat 和 Httpd Lounge。
<span style="background-color:var(--highlight-bg)"><span style="color:var(--highlight-color)"><code class="language-xml"><<span style="color:var(--highlight-namespace)">servlet</span>>
<<span style="color:var(--highlight-namespace)">servlet-name</span>>jsp</<span style="color:var(--highlight-namespace)">servlet-name</span>>
<<span style="color:var(--highlight-namespace)">servlet-class</span>>org.apache.jasper.servlet.JspServlet</<span style="color:var(--highlight-namespace)">servlet-class</span>>
<<span style="color:var(--highlight-namespace)">multipart-config</span>>
<<span style="color:var(--highlight-namespace)">max-file-size</span>>3145728</<span style="color:var(--highlight-namespace)">max-file-size</span>>
<<span style="color:var(--highlight-namespace)">max-request-size</span>>5242880</<span style="color:var(--highlight-namespace)">max-request-size</span>>
</<span style="color:var(--highlight-namespace)">multipart-config</span>>
<<span style="color:var(--highlight-namespace)">init-param</span>>
<<span style="color:var(--highlight-namespace)">param-name</span>>fork</<span style="color:var(--highlight-namespace)">param-name</span>>
<<span style="color:var(--highlight-namespace)">param-value</span>>false</<span style="color:var(--highlight-namespace)">param-value</span>>
</<span style="color:var(--highlight-namespace)">init-param</span>>
<<span style="color:var(--highlight-namespace)">init-param</span>>
<<span style="color:var(--highlight-namespace)">param-name</span>>xpoweredBy</<span style="color:var(--highlight-namespace)">param-name</span>>
<<span style="color:var(--highlight-namespace)">param-value</span>>false</<span style="color:var(--highlight-namespace)">param-value</span>>
</<span style="color:var(--highlight-namespace)">init-param</span>>
<<span style="color:var(--highlight-namespace)">load-on-startup</span>>3</<span style="color:var(--highlight-namespace)">load-on-startup</span>>
</<span style="color:var(--highlight-namespace)">servlet</span>>
</code></span></span>
如您所见:
<span style="background-color:var(--highlight-bg)"><span style="color:var(--highlight-color)"><code class="language-xml"><<span style="color:var(--highlight-namespace)">multipart-config</span>>
<<span style="color:var(--highlight-namespace)">max-file-size</span>>3145728</<span style="color:var(--highlight-namespace)">max-file-size</span>>
<<span style="color:var(--highlight-namespace)">max-request-size</span>>5242880</<span style="color:var(--highlight-namespace)">max-request-size</span>>
</<span style="color:var(--highlight-namespace)">multipart-config</span>>
</code></span></span>
使用 JSP 上传文件。文件:
在 HTML 文件中
<span style="background-color:var(--highlight-bg)"><span style="color:var(--highlight-color)"><code class="language-java"><form method=<span style="color:var(--highlight-variable)">"post"</span> enctype=<span style="color:var(--highlight-variable)">"multipart/form-data"</span> name=<span style="color:var(--highlight-variable)">"Form"</span> >
<input type=<span style="color:var(--highlight-variable)">"file"</span> name=<span style="color:var(--highlight-variable)">"fFoto"</span> id=<span style="color:var(--highlight-variable)">"fFoto"</span> value=<span style="color:var(--highlight-variable)">""</span> /></td>
<input type=<span style="color:var(--highlight-variable)">"file"</span> name=<span style="color:var(--highlight-variable)">"fResumen"</span> id=<span style="color:var(--highlight-variable)">"fResumen"</span> value=<span style="color:var(--highlight-variable)">""</span>/>
</code></span></span>
在 JSP 文件或Servlet中
<span style="background-color:var(--highlight-bg)"><span style="color:var(--highlight-color)"><code class="language-java"><span style="color:var(--highlight-namespace)">InputStream</span> <span style="color:var(--highlight-variable)">isFoto</span> = request.getPart(<span style="color:var(--highlight-variable)">"fFoto"</span>).getInputStream();
<span style="color:var(--highlight-namespace)">InputStream</span> <span style="color:var(--highlight-variable)">isResu</span> = request.getPart(<span style="color:var(--highlight-variable)">"fResumen"</span>).getInputStream();
<span style="color:var(--highlight-namespace)">ByteArrayOutputStream</span> <span style="color:var(--highlight-variable)">baos</span> = <span style="color:var(--highlight-keyword)">new</span> <span style="color:var(--highlight-literal)">ByteArrayOutputStream</span>();
<span style="color:var(--highlight-namespace)">byte</span> buf[] = <span style="color:var(--highlight-keyword)">new</span> <span style="color:var(--highlight-literal)">byte</span>[<span style="color:var(--highlight-namespace)">8192</span>];
<span style="color:var(--highlight-namespace)">int</span> <span style="color:var(--highlight-variable)">qt</span> = <span style="color:var(--highlight-namespace)">0</span>;
<span style="color:var(--highlight-keyword)">while</span> ((qt = isResu.read(buf)) != -<span style="color:var(--highlight-namespace)">1</span>) {
baos.write(buf, <span style="color:var(--highlight-namespace)">0</span>, qt);
}
<span style="color:var(--highlight-namespace)">String</span> <span style="color:var(--highlight-variable)">sResumen</span> = baos.toString();
</code></span></span>
编辑您的代码以满足 servlet 要求,例如max-file-size、max-request-size和您可以设置的其他选项...