ben*_*rre 1 html servlets file-upload
我有以下html表单...
<html>
<head><title>Upload Servlet</title></head>
<body><h2>Upload Servlet</h2>
<form name='uploadparams' enctype='multipart/form-data' action='' method='post'>
<label>Migrate Options From:
<select name='migrateFrom'>
<option></option>
<option value='version 1'>version 1</option>
</select>
</label>
<br/>
<input type='file' name='zipFile'>
<br/>
<input type='hidden' value='willnotshowupinservlet'/>
<button type='submit'>Submit</button>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
问题是虽然我可以读取http参数名称为"zipFile"的文件,但我的servlet没有看到其他参数"willnotshowupinservlet"和"migrateFrom".文件上传表单只能有一个输入(文件输入)吗?
它们确实不能作为常规请求参数使用,因为您已将表单编码设置为multipart/form-data(为了能够在请求正文中包含文件内容,这确实是必需的).您必须解析请求正文符合multipart/form-data规范.getParameter()Servlet API 的调用仅支持表单编码,application/x-www-form-urlencoded该表单编码是enctypeHTML <form>元素的默认值.
Apache Commons FileUpload是一个常用的API来简化工作.或者,当您已经在Servlet 3.0上时,您需要使用注释来指定servlet @MultipartConfig.您可以在此答案中找到两种方法的具体示例.
| 归档时间: |
|
| 查看次数: |
10520 次 |
| 最近记录: |