java servlet如何获取提交的文件。

在表单提交的时候,如果是字符串,那么用request.getParameter文件呢?... 在表单提交的时候,如果是字符串,那么用
request.getParameter
文件呢?
展开
 我来答
陪你丶看日落
2015-10-27 · TA获得超过668个赞
知道小有建树答主
回答量:436
采纳率:46%
帮助的人:91.9万
展开全部
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.dnion.contentpush.struts.BaseDispatchAction;

/**
 * 提供web页面的提交的“文本”推送更新
 * @author wxl
 *
 */
public class WebTextPushAction extends BaseDispatchAction {

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload fileUpload = new ServletFileUpload(factory);
//设置上传文件大小的上限,-1表示无上限 
fileUpload.setSizeMax(-1);
List items = new ArrayList();
//上传文件,解析表单中包含的文件字段和普通字段
items = fileUpload.parseRequest(request);
//遍历字段进行处理
Iterator iterator = items.iterator();
while(iterator.hasNext()){
FileItem fileItem =(FileItem)iterator.next();
if(fileItem.isFormField()){//普通字段

                           }else{//文件字段
if("textfile".equals(fileItem.getFieldName())){

//上传;

}
}
}
return super.execute(mapping, form, request, response);
}
}

页面中form加上属性ENCTYPE="multipart/form-data"

<input  name="textfile" type="file" value=“”/>
459402930
2018-02-28 · TA获得超过444个赞
知道小有建树答主
回答量:292
采纳率:83%
帮助的人:179万
展开全部
这种问题 更适合去百度 Java servlet 文件上传 然后随便找个例子,照着跑起来,就好了,然后最好能去 了解下 Http 中 传输参数和传输文件的差异。传输文件 对应的ContentType ,以及现在流行起来的 文件存储系统,OSS,这些东西,文件上传可能造成的跨域问题。了解了这些就好了。其实,能从一般的参数,延伸到文件,其实挺好的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夏日之一地阳光
2011-05-17 · TA获得超过211个赞
知道答主
回答量:80
采纳率:0%
帮助的人:69.7万
展开全部
参考代码

import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.dnion.contentpush.struts.BaseDispatchAction;

/**
* 提供web页面的提交的“文本”推送更新
* @author wxl
*
*/
public class WebTextPushAction extends BaseDispatchAction {

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload fileUpload = new ServletFileUpload(factory);
//设置上传文件大小的上限,-1表示无上限
fileUpload.setSizeMax(-1);
List items = new ArrayList();
//上传文件,解析表单中包含的文件字段和普通字段
items = fileUpload.parseRequest(request);
//遍历字段进行处理
Iterator iterator = items.iterator();
while(iterator.hasNext()){
FileItem fileItem =(FileItem)iterator.next();
if(fileItem.isFormField()){//普通字段

}else{//文件字段
if("textfile".equals(fileItem.getFieldName())){

//上传;

}
}
}
return super.execute(mapping, form, request, response);
}
}

页面中form加上属性ENCTYPE="multipart/form-data"
<input name="textfile" type="file" value=“”/>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式