`
han_chengroy
  • 浏览: 8676 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

ServletFileUpload 上传时upload.parseRequest(request);为空

阅读更多
今天在页面提交到servlet上传时,遇到一小问题,

 DiskFileItemFactory factory = new DiskFileItemFactory();

 factory.setRepository(new File(tempPath));

 ServletFileUpload upload = new ServletFileUpload(factory);

 List<FileItem> fileItems = upload.parseRequest(req);

 

// 这里 fileItems一直为空



最后原因是被 web.xml中的 Filter过滤掉了


<filter>
		<filter-name>struts2</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.FilterDispatcher
		</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>struts2</filter-name>
               <!-- 	<url-pattern>/*</url-pattern> -->
		<url-pattern>*.action</url-pattern>
	</filter-mapping>


分享到:
评论
1 楼 qyfbq123 2011-11-18  
配置了action的form得话会重新封装request,有问题

相关推荐

    common-fileupload实例:fileList = upload.parseRequest(request);上传file文件和form表单提交

    首先,让我们理解`fileList = upload.parseRequest(request);`这行代码在文件上传过程中的作用。`upload.parseRequest(request)`是`Commons FileUpload`库中的一个方法,它解析HTTP请求,从中提取出上传的文件信息。...

    利用org.apache.commons.fileupload上传多个文件

    List&lt;FileItem&gt; items = upload.parseRequest(request); Iterator&lt;FileItem&gt; iter = items.iterator(); while (iter.hasNext()) { FileItem item = iter.next(); if (item.isFormField()) { // 处理普通表单...

    java 页面上有ENCTYPE="multipart/form-data" 时action方法或者控制层用request.getParameter()获取不到值的方法 ?

    然后,创建一个`ServletFileUpload`实例,并使用`parseRequest()`方法解析请求。这个方法会返回一个`FileItemIterator`,你可以遍历它来获取所有表单字段,包括文件和文本字段。 ```java import org.apache....

    JSP-文件图片上传-fileupload组件-commons-upload

    try {List items = upload.parseRequest(request);Iterator itr = items.iterator(); while (itr.hasNext()) {FileItem item = (FileItem) itr.next();if (item.isFormField()) { System.out.println("表单参数名:" ...

    jsp上传文件实例可以使用jsp上传图片,文档,等文件

    使用`ServletFileUpload.parseRequest(request)`解析请求中的文件项,然后遍历每个`FileItem`对象,对文件进行处理。如果是普通字段,直接获取值;如果是文件,可以调用`write()`方法将其保存到服务器。例如: ```...

    servletUpload

    - **处理上传**:如果请求是多部分的,使用`ServletFileUpload.parseRequest()`解析请求,获取`FileItem`对象列表。 - **保存文件**:遍历`FileItem`列表,对于表示文件的部分,将其写入服务器的指定位置。 ### 3. ...

    jspsmartupload

    List fileItems = upload.parseRequest(request); //开始读取上传信息 Iterator iter = fileItems.iterator(); // 依次处理每个上传的文件 while(iter.hasNext()) { FileItem item = (FileItem) iter.next(); // ...

    jspupload文件上传

    List&lt;FileItem&gt; items = upload.parseRequest(request); for (FileItem item : items) { if (!item.isFormField()) { String fileName = item.getName(); // 保存文件到服务器 item.write(new File(...

    上传文件+ajax进度条

    上传文件+ajax进度条 FileItemFactory factory = new DiskFileItemFactory(); // 通过该工厂对象创建...List items = upload.parseRequest(request); for (Iterator i = items.iterator(); i.hasNext();) {

    使用fileupload组件实现文件上传功能

    List&lt;FileItem&gt; list = upload.parseRequest(request); 每个FileItem对象对应一个表单项,包含了表单项的详细信息,例如字段名、文件名、文件内容、文件类型等。FileItem对象提供了多种方法,例如: * ...

    java通过js上传文件

    items=upload.parseRequest (request).iterator(); while(items.hasNext()){ FileItem item=(FileItem) items.next(); if(!item.isFormField()){ String name=item.getName (); String fileName=name....

    上传组件Commons fileUpload.jar剖析

    List&lt;FileItem&gt; items = upload.parseRequest(request); ``` ##### 示例3:控制文件大小 ```java // 创建基于磁盘的文件项工厂,并设置最大内存大小和临时目录 DiskFileItemFactory factory = new ...

    flex中的文件上传(简单例子)

    List fileItems = upload.parseRequest(request); Iterator iter = fileItems.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (!item.isFormField()) { ...

    使用commons fileupload 和commons io jar包操作实例项目

    List&lt;FileItem&gt; items = upload.parseRequest(request); for (FileItem item : items) { if (!item.isFormField()) { String fileName = new File(item.getName()).getName(); File storeFile = new File("/...

    fileupload的使用API和代码实例.zip

    for (FileItem item : upload.parseRequest(request)) { if (!item.isFormField()) { // 判断是否为文件 String fileName = item.getName(); // 获取文件名 item.write(new File(uploadDirectory, fileName)); /...

    Java项目中使用Servlet实现附件上传下载功能.pdf

    List items = upload.parseRequest(request); // 循环处理文件上传 for (int i = 0; i &lt; items.size(); i++) { FileItem item = (FileItem) items.get(i); // 将文件改名 String fileName = takeOutFileName...

    实现文件上传的java代码

    List&lt;FileItem&gt; items = upload.parseRequest(request); for (FileItem item : items) { if (!item.isFormField()) { // 检查是否为文件字段 String fileName = new File(item.getName()).getName(); // 处理...

    实用commons-fileUpload组件上传文件

    然后,你可以通过调用`ServletFileUpload.parseRequest()`方法解析请求,得到`FileItem`的集合。遍历这个集合,对于每个`FileItem`,如果它是文件,你可以通过`isFormField()`方法检查,然后使用`write()`方法将其...

    jspsmart文件上传与邮件发送的实例.docx

    // 创建文件上传解析器List&lt;FileItem&gt; items = upload.parseRequest(req); // 解析请求中的表单数据for (FileItem item : items) { if (!item.isFormField()) { // 如果不是普通表单字段,那么它就是一个文件字段...

    commons-fileupload上传实现

    List&lt;FileItem&gt; items = upload.parseRequest(request); for (FileItem item : items) { if (item.isFormField()) { // 处理普通文本字段 } else { // 处理上传的文件 String fileName = item.getName(); //...

Global site tag (gtag.js) - Google Analytics