小弟写了个上传文件的测试...代码如下
==================
package org.upload;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.*;import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;public class Upload extends HttpServlet { /**
* Constructor of the object.
*/
private String uploadPath = "D:\\"; // 用于存放上传文件的目录 private String tempPath = "C:\\upload\\tmp"; // 用于存放临时文件的目录 private String realBaseDir; public Upload() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doPost(request, response);
} /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to
* post.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { try {
DiskFileUpload fu = new DiskFileUpload();
// 设置最大文件尺寸,这里是4MB
fu.setSizeMax(419430400);
// 设置缓冲区大小,这里是4kb
fu.setSizeThreshold(40960);
// 设置临时目录:
fu.setRepositoryPath(tempPath); // 得到所有的文件:
List fileItems = fu.parseRequest(request);
Iterator i = fileItems.iterator();
while (i.hasNext()) {
FileItem fi = (FileItem) i.next();
// 获得文件名,这个文件名包括路径:
String fileName = fi.getName();
System.out.println("jjjjj : " + fileName);
String fileName2 = fileName.substring (fileName.lastIndexOf("\\") + 1, fileName.length());
if (fileName != null) {
// 在这里可以记录用户和文件信息
// 写入文件从fileName中提取文件名:
File toSave = new File(realBaseDir);
if (!toSave.isDirectory()) {
toSave.mkdirs();
}
fi.write(new File(realBaseDir + "//" + fileName2));
}
}
// 跳转到上传成功提示页面
} catch (Exception e) {
// 可以跳转出错页面
}
} /**
* Initialization of the servlet. <br>
*
* @throws ServletException
* if an error occure
*/
public void init() throws ServletException {
// Put your code here
realBaseDir = getServletContext().getRealPath("/adver/");
System.out.println(realBaseDir);
}}
=================================================
但是没有办法在一个表单同时提交上传文件 和文本框的信息.我的表单如下
<form action="Upload" method="post" enctype="multipart/form-data"
name="form1">
<input type="file" name="file">(只支持*.gif,*.swf,*.jpg格式)<br>
<input type="submit" name="Submit" value="upload">
</form>
==========================================================
没有办法再在以上表单中加入文本框了...
哪位大虾教教我怎样才能在一个表单同时提交上传文件 和文本框的信息(不用控件)
着急啊~~````
==================
package org.upload;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.*;import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;public class Upload extends HttpServlet { /**
* Constructor of the object.
*/
private String uploadPath = "D:\\"; // 用于存放上传文件的目录 private String tempPath = "C:\\upload\\tmp"; // 用于存放临时文件的目录 private String realBaseDir; public Upload() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doPost(request, response);
} /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to
* post.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { try {
DiskFileUpload fu = new DiskFileUpload();
// 设置最大文件尺寸,这里是4MB
fu.setSizeMax(419430400);
// 设置缓冲区大小,这里是4kb
fu.setSizeThreshold(40960);
// 设置临时目录:
fu.setRepositoryPath(tempPath); // 得到所有的文件:
List fileItems = fu.parseRequest(request);
Iterator i = fileItems.iterator();
while (i.hasNext()) {
FileItem fi = (FileItem) i.next();
// 获得文件名,这个文件名包括路径:
String fileName = fi.getName();
System.out.println("jjjjj : " + fileName);
String fileName2 = fileName.substring (fileName.lastIndexOf("\\") + 1, fileName.length());
if (fileName != null) {
// 在这里可以记录用户和文件信息
// 写入文件从fileName中提取文件名:
File toSave = new File(realBaseDir);
if (!toSave.isDirectory()) {
toSave.mkdirs();
}
fi.write(new File(realBaseDir + "//" + fileName2));
}
}
// 跳转到上传成功提示页面
} catch (Exception e) {
// 可以跳转出错页面
}
} /**
* Initialization of the servlet. <br>
*
* @throws ServletException
* if an error occure
*/
public void init() throws ServletException {
// Put your code here
realBaseDir = getServletContext().getRealPath("/adver/");
System.out.println(realBaseDir);
}}
=================================================
但是没有办法在一个表单同时提交上传文件 和文本框的信息.我的表单如下
<form action="Upload" method="post" enctype="multipart/form-data"
name="form1">
<input type="file" name="file">(只支持*.gif,*.swf,*.jpg格式)<br>
<input type="submit" name="Submit" value="upload">
</form>
==========================================================
没有办法再在以上表单中加入文本框了...
哪位大虾教教我怎样才能在一个表单同时提交上传文件 和文本框的信息(不用控件)
着急啊~~````
解决方案 »
- struts2 jquery ajax提交表单,后台怎么才能得到页面的值?代码怎么写啊?
- JSP代码中出现空指针错误?(小弟跪求)我把源代码跟数据库上传上来(SQL)
- JSP连接sql出错
- 如何得到上个星期天的日期,星期6的日期呢
- “警告: 编码 GBK 的不可映射字符”怎么处理?
- jspsmartupload的上传路径问题
- jsp中如何引入第三方编辑器,就是新闻网站发布后台的那种?
- 比较急的,请各位帮我看看.在线!
- 急!!!weblogic10.3.2日志报错
- 关于转发和重定向的区别,两者在WEB应用中有什么实际意义
- hibernate 连oracle9i出问题了 大虾帮我看看啊
- (100分新手求教)把图片保存到Oracle的BLOB字段中的问题
http://www.cnpaf.net/rfc/rfc1867.txt
Apache的common-files实现了此规范,表单中所有控件信息都在该规范所制定的数据包,包括你想加入的文本框,或者其他控件。