从带有enctype="multipart/form-data"属性的form中取值

nannanlongmao 2011-04-14 02:05:16
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page import="com.ntsky.file.*,java.util.*"%>
<%
FILE file = new FileHandle();
// jsp调用初始化
file.initialize(pageContext);
String write_time = request.getParameter("WRITE_TIME");
/**
* 文件参数对象
*/
FileParam param = new FileParam();

// 文件目录
param.setFileDir("upload");
// 文件名
param.setFileName(write_time);
//
param.setFileType("doc");
//添加参数
file.setFileParam(param);
// 执行上传
if (file.service(request) == 1) {
out.println("<font size=5 color=#FF0000><b>选择了错误文件!<br/>不能正常更新,请重新操作.</b></font><br/>");
} else if (file.service(request) == -1) {
//ImportExcel.importExcel("../webapps/"+request.getContextPath()+"/upload/"+write_time+".doc");
out.println("<br/>");
out.println("<font size=5 color=#FF0000> 生产分析上传成功.<br/><br/>返回查看详情.</font><br/><br/>");

}

out.println("<input type='button' value='返回' onclick='history.back(-1);' />");

%>

在这个里面request不能取得上个页面传来的值了,请各位高手们帮帮忙。
...全文
120 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nannanlongmao 2011-04-14
  • 打赏
  • 举报
回复
坐等啊。。。
nannanlongmao 2011-04-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ml_dark 的回复:]
自己解析http request流。。。。。
[/Quote]
这个我也想会,可是真不会。。。白痴了我。。。
ml_dark 2011-04-14
  • 打赏
  • 举报
回复
自己解析http request流。。。。。
nannanlongmao 2011-04-14
  • 打赏
  • 举报
回复
我们用的是ntsky_file.jar这个上传的文件,因为我要获得前页面传来的write_time给文件命名,可是一直取不到值,头疼啊。刚上班我,求前辈们指点。。。
amos1989 2011-04-14
  • 打赏
  • 举报
回复
肯定取不到。。。因为所有的表单名,和值都被转成二进制了。。。。

在上传文件的时候,我以为我用的common-file-upload为例:

1。拿到所有的FileItem
2。进行迭低处理
3。如果是表单域,则获取值
4。如果不是表单域,则是上传的文件,进行上传处理



while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();

if (item.isFormField()) {
processFormField(item);
} else {
processUploadedFile(item);
}

//表单域,直接获取属性名,获取值。。进行你的处理
if (item.isFormField()) {
String name = item.getFieldName();
String value = item.getString();
...
}


// Process a file upload
if (!item.isFormField()) {
String fieldName = item.getFieldName();
String fileName = item.getName();
String contentType = item.getContentType();
boolean isInMemory = item.isInMemory();
long sizeInBytes = item.getSize();
...
}


// Process a file upload
if (writeToFile) {
File uploadedFile = new File(...);
item.write(uploadedFile);
} else {
InputStream uploadedStream = item.getInputStream();
...
uploadedStream.close();
}

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧