使用commons-fileupload 后,
其表单中放了除“文件域”外的TEXT控件,在Servlet采用request.getParameter()得不到其值。
解决方法1:
用两个表单:
1.一个采用POST提交的文件上传的from
<form action="FileUpload" method="post"
enctype="multipart/form-data" name="form1">
<input type="file" name="file">
<input type="button" name="Submit" value="upload" onclick="ok()">
</form>
2.对该上传文件描述的form,
<FORM name="form2" action="" method="get">
<input type="text" name="name">
<input type="text" name="title">
</FORM>
3.脚本取form2的值,并添到form1的url中。
<SCRIPT>
function ok()
{
var name = form2.name.value;
var title= form2.title.value;
form1.action="FileUpload?name="+name+"&title="+title;
form1.submit();
}
</SCRIPT>
解决方法2:
得到request:
ServletFileUpload upload = new ServletFileUpload(factory);
try {
List items = upload.parseRequest(request);
for (Iterator i = items.iterator(); i.hasNext();) {
FileItem fileItem = (FileItem) i.next();
String field = fileItem.getFieldName();
if(field.equals("kind")){
kind = fileItem.getString();
continue;
}else if(field.equals("id")){
id = fileItem.getString();
continue;
}else if(field.equals("topic")){
topic = fileItem.getString();
continue;
}
分享到:
相关推荐
String fileName = request.getParameter("filename"); if (fileName != null && !fileName.isEmpty()) { File file = new File(UPLOAD_DIR, fileName); if (file.exists() && file.isFile()) { response.set...
我们将使用`commons-fileupload`库作为文件处理的核心组件,并结合JSP页面进行交互展示。 #### 二、技术选型 - **前端**:使用简单的HTML表单以及少量的JavaScript代码。 - **后端**:主要基于Servlet,同时利用`...
- **request.getParameter("xxx")**: 在表单的enctype设置为`multipart/form-data`时,此方法将不再有效。此时它总是返回`null`。 - **ServletInputStream request.getInputStream()**: 包含整个请求的数据,包括...
String filename = request.getParameter("filename"); File file = new File("uploadPath/" + filename); response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\""); ...
String fileName = request.getParameter("fileName"); File file = new File("uploads/" + fileName); // 文件路径 response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); ...
String filename = request.getParameter("filename"); File file = new File("uploads/" + filename); response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", ...
在Servlet中,我们使用`Commons FileUpload`库来解析请求中的多部分数据。Apache Commons FileUpload库提供了一套方便的API,可以方便地读取和处理上传的文件。 ```java import org.apache.commons.fileupload....
String fileName = request.getParameter("file"); // 检查是否有文件 if (fileName != null && !fileName.isEmpty()) { // 获取文件输入流 InputStream is = request.getInputStream(); // 创建临时文件存储...
Java 提供了多种文件上传机制,包括使用 `commons-fileupload` 库、使用 Servlet 3.0 的文件上传 API 等。在本例中,我们使用 `commons-fileupload` 库来实现文件上传。 下面是 Java 实现图片和文本同时提交到表单...
此时,服务器端无法再使用`request.getParameter()`方法来获取信息,因为请求头的编码方式已经改为二进制形式。 #### 四、服务器端处理 服务器端接收并处理文件上传的过程较为复杂,尤其是如何解析请求体中的文件...
在上传过程中,我们通常会使用`Apache Commons FileUpload`库来解析请求中的多部分数据,从中获取上传的图片文件。 ```java import org.apache.struts.upload.FormFile; public class UploadImageAction extends ...