如何获取上传文件的输入流
用io实现文件上传的时候,如何在servlet中获取上传文件的输入流啊?
------解决方案--------------------我告诉你,什么都不用就可以实现基于WEB上传文件
只要提交表单时候声明支持
<FORM ENCTYPE="multipart/form-data" ACTION="_URL_" METHOD=POST>
File to process: <INPUT NAME="userfile1" TYPE="file">
<INPUT TYPE="submit" VALUE="Send File">
</FORM>
然后从HTTP协议的Request中读取即可
------解决方案--------------------InputStream in = request.getInputStream();
ObjectInputStream ois = new ObjectInputStream(in);
TableBean table=new TableBean();
table=(TableBean)ois.readObject();
这是我的一个列子,是写在servle里面的,我是接受的一个bean,看是否能帮助LZ.
------解决方案--------------------http://www.iteye.com/topic/66945
用servlet 用fileupload 可以参考 一下这个篇文章
看doPost()那一段
while(i.hasNext()) {
19. FileItem fi = (FileItem)i.next();
20. // 获得文件名,这个文件名包括路径:
21. String fileName = fi.getName();
22. // 在这里可以记录用户和文件信息
23. // ...
24. // 写入文件,暂定文件名为a.txt,可以从fileName中提取文件名:
25. fi.write(new File(uploadPath + "a.txt"));
26. }
fi.getInputStream()可以取到 文件流
------解决方案--------------------
/**
* 检测接受请求内容工具
*/
public static void observe() {
String name,pvalue;
Object avalue;
Enumeration enum1;
HttpServletRequest request=Struts2Util.getRequest();
System.out.println("/***************** Request Observer (Author: Alex Nie)**************/");
// observe Request Header
enum1 = request.getHeaderNames();
System.out.println("Request Header:");
while (enum1.hasMoreElements()) {
name = (String)enum1.nextElement();
pvalue = request.getHeader(name);
System.out.println(" " + name + " ---- " + pvalue);
}