当前位置:首页 » 文件管理 » servlet获取上传文件

servlet获取上传文件

发布时间: 2022-07-20 15:01:57

㈠ servlet上传文件怎样获取到文件的路径

String PATH = ServletActionContext.getServletContext().getRealPath("/upload");

㈡ 怎样在Servlet中获得jsp上传文件的名称

可以使用commons-fileupload组件实现文件上传,步骤如下:

1、添加jar包:commons-fileupload-x.x.x.jar和commons-io-2.4.jar
2、编写或修改form表单
1) 提交方式必须是post
2) 为表单增加属性enctype="multipart/form-data"
3) 为文件上传单独提供servlet,因为增加enctype属性后,无法使用常规的请求对象来获取提交的数据
3、使用Commons-FileUpload组件实现文件的上传
1) 确定本次请求是否是文件上传请求
boolean flag=ServletFileUpload.isMultipartContent(request);
2) 创建文件上传的工厂对象
FileItemFactory factory=new DiskFileItemFactory();
3) 创建ServletFileUpload对象,并将工厂对象作为参数传入
ServletFileUpload upload=new ServletFileUpload(factory);
4) 使用上传对象从请求对象中解析出提交的所有表单元素
List<FileItem> lstForms=upload.parseRequest(request);
5) 遍历表单元素集合,实现取出表单元素和上传文件
//遍历所有表单元素
for (FileItem fileItem : lstForms) {
//判断每一个表单元素是否是普通表单
if(fileItem.isFormField()){
System.out.println(fileItem.getString("UTF-8"));
}else{
//上传前准备工作
//a、上传后的路径this.getServletContext().getRealPath("/")会出去当前项目在 部署的服务器上的绝对路径

String path=this.getServletContext().getRealPath("/")+"files/";
//b、找出要上传的文件的名字
String fileName=fileItem.getName();
fileName=fileName.substring(fileName.lastIndexOf("\\")+1);
//c、上传
fileItem.write(new File(path+fileName));
out.println("<h2>"+fileName+"上传成功!</h2>");
}
}
附件为文件上传的完整代码,包括验证上传的必须是图片!

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

importjava.io.File;
importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.List;

importjavax.servlet.ServletInputStream;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;

importorg.apache.commons.fileupload.FileItem;
importorg.apache.commons.fileupload.disk.DiskFileItemFactory;
importorg.apache.commons.fileupload.servlet.ServletFileUpload;
importorg.apache.struts.action.ActionForm;
importorg.apache.struts.action.ActionForward;
importorg.apache.struts.action.ActionMapping;
importcom.dnion.contentpush.struts.BaseDispatchAction;

/**
*提供web页面的提交的“文本”推送更新
*@authorwxl
*
*/
{

publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
DiskFileItemFactoryfactory=newDiskFileItemFactory();
ServletFileUploadfileUpload=newServletFileUpload(factory);
//设置上传文件大小的上限,-1表示无上限
fileUpload.setSizeMax(-1);
Listitems=newArrayList();
//上传文件,解析表单中包含的文件字段和普通字段
items=fileUpload.parseRequest(request);
//遍历字段进行处理
Iteratoriterator=items.iterator();
while(iterator.hasNext()){
FileItemfileItem=(FileItem)iterator.next();
if(fileItem.isFormField()){//普通字段

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

//上传;

}
}
}
returnsuper.execute(mapping,form,request,response);
}
}

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

<inputname="textfile"type="file"value=“”/>

㈣ jsp上传文件,servlet如何获取文件对象

你要做文件上传吧 form表单里一定要设置这两个值enctype="multipart/form-data" method="post"
上传成功后会在tomcat里有那个文件 ,至于你说的要获取io流。那就需要找到那个文件给你写一下伪码吧:
//获得上传文件的路径

String path = getServletContext().getRealPath(webpath);

File file = new File(path);
file.getParentFile().mkdirs();
file.createNewFile();

// 获得流
InputStream in = item.getInputStream();
OutputStream out = new FileOutputStream(file);
不懂的再问我!
建议你用个上传组件,fileupload什么的

㈤ 在servlet中怎样上传文件

//新建一个Smartupload对象
SmartUpload
su=new
SmartUpload();
//上传初始化
su.initialize(pageContext);
//设定上传限度
//1.限定每个上传文件的最大长度
//su.setMaxFileSize(100000);
//2.限制总上传数据的长度。
//su.setTotalMaxFileSize(20000);
//3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
//su.setAllowFilesList("doc,text");
//4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,jsp,htm,html扩展名的文件或没有扩展名的文件
//su.setDeniedDilesList("exe,bat,jsp,html,htm,,");
//上传文件
su.upload();
//将上传文件全部保存到指定目录
int
count=su.save("/upload");
out.println(count+"个上传文件成功!<br>");
//利用Request对象获取参数之值
out.println("test="+su.getRequest().getParameter("test")+"<br><br>");
//逐一提取上传文件信息,同时可保存文件。
for(int
i=0;i<su.getFiles().getCount();i++)
{
com.jspsmart.upload.File
file=su.getFiles().getFile(i);
//若文件不存在则继续
if(file.isMissing())
continue;
//显示当前文件信息
out.println("<table
border=1>");
out.println("<tr><td>表单项名(FiledName)</td><td>"+file.getFieldName()+"</tr></tr>");
out.println("<tr><td>文件长度(Size)</td><td>"+file.getSize()+"</td><td>");
out.println("<tr><td>文件名(FileName)</td><td>"+file.getFileName()+"</tr></tr>");
out.println("<tr><td>文件扩展名(FiledExt)</td><td>"+file.getFileExt()+"</tr></tr>");
out.println("<tr><td>文件全名(FiledPathName)</td><td>"+file.getFilePathName()+"</tr></tr>");
out.println("</table><br>");
//将文件另存
//file.saveAs("/upload/"+myFile.getFileName());
//另存到以web应用程序的根目录为文件根目录的目录下
//file.saveAs("/upload/"+myFile.getFileName(),su.SAVE_VIRTUAL);
//另存到操作系统的根目录为文件根目录的目录下
//file.safeAs("c://temp//"+myFile.getFileName(),su.SAVE_PHYSICAL);
}
上面就是了。。。。祝你好运哈!

㈥ 怎样用servlet实现文件上传

编写上传页面,在WebContent目录下创建一个NewFile.jsp文件,并编写如下代码。注意: 必须加上 enctype="multipart/form-data" .表示以二进制的数据格式来传输。

开发处理文件上传的Servlet
1、使用注解@MultipartConfig将一个Servlet标识为支持文件上传。
2、Servlet3.0将multipart/form-data的POST请求封装成Part,通过Part对上传的文件进行操作。

将控制台打印的文件上传地址复制到地址栏。查看上传的文件,页面提示上传成功!

在编写servlet时,应该注意 必须注解 @MultipartConfig 将一个Servlet标识为支持文件上传,否则会导致上传失败。还有就是JSP页面上 form表单中 ,必须加上 enctype="multipart/form-data" .表示以二进制的数据格式来传输。

文件上传servlet类的代码编写。dopost()方法中的主要代码:(读者可参考注释自行进行编写,然后按照以上步骤进行测试)。
request.setCharacterEncoding("utf-8"); //获取文件部件part Part part=request.getPart("filename"); //获取服务器的路径 即上传路径 String root=request.getServletContext().getRealPath("/file"); //获取上传文件的头部信息 String headname=part.getHeader("content-disposition"); //获取文件后缀名 String ext = headname.substring(headname.lastIndexOf("."), headname.length()-1); // 上传目的地完整的路径 String filename=root+"/"+UUID.randomUUID().toString()+ext; System.out.println(filename); //导入文件 part.write(filename); request.setAttribute("info", "上传成功!"); request.getRequestDispatcher("/NewFile.jsp").forward(request, response); }

㈦ servlet如何得到上传文件的类型

你可以先sysytem.out.print()出来 看是什么格式的
然后你再用equals()
最好使用equalsIgnoreCase()方法

㈧ servlet怎么接受上传的文件

最简单的是利用wndows的网络磁盘映射,在servlet的服务器上映射文件服务器的某个磁盘;另一种方法就是在文件服务器上布署一个web应用服务来接收上传的文件。

㈨ java servlet 怎么获取表单里上传的文件的路径

文件的上传路径是你控制的...
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(new File("../webapps/fileupload/upload/" + fileName)));

㈩ jsp+servlet 怎么实现文件上传

你要做文件上传吧 form表单里一定要设置这两个值enctype="multipart/form-data" method="post"
上传成功后会在tomcat里有那个文件 ,至于你说的要获取io流。那就需要找到那个文件给你写一下伪码吧:
//获得上传文件的路径

String path = getServletContext().getRealPath(webpath);

File file = new File(path);
file.getParentFile().mkdirs();
file.createNewFile();

// 获得流
InputStream in = item.getInputStream();
OutputStream out = new FileOutputStream(file);
不懂的再问我!
建议你用个上传组件,fileupload什么的

热点内容
更新成本算法 发布:2025-01-25 03:38:09 浏览:115
我的世界在服务器里面用toolbox 发布:2025-01-25 03:38:09 浏览:566
学编程不想学了 发布:2025-01-25 03:36:51 浏览:379
如何压缩0 发布:2025-01-25 03:36:49 浏览:794
服务器主板和家用电脑主板的区别 发布:2025-01-25 03:36:47 浏览:893
查询数据库连接数 发布:2025-01-25 03:36:41 浏览:976
安卓锁屏切换在哪里 发布:2025-01-25 03:30:56 浏览:220
aspx代码加密 发布:2025-01-25 03:28:09 浏览:925
安卓手机如何打开mdx 发布:2025-01-25 03:20:31 浏览:604
电脑易学编程 发布:2025-01-25 03:19:42 浏览:678