public String uploadFile(HttpServletRequest request){
try {
DiskFileItemFactory factory= new DiskFileItemFactory();
ServletFileUpload upload= new ServletFileUpload(factory);
List<FileItem> list = upload.parseRequest(request);
String encoding=request.getCharacterEncoding();
upload.setHeaderEncoding(encoding);
upload.setFileSizeMax(fileMaxSize);
for(FileItem fileItem : list){
String fileName = fileItem.getFieldName();
if(fileItem.isFormField()){
if("send".equals(fileName)){
edto.setSend(fileItem.getString(encoding));
}
if("incept".equals(fileName)){
edto.setIncept(fileItem.getString(encoding));
}
if("theme".equals(fileName)){
edto.setTheme(fileItem.getString(encoding));
}
if("letter".equals(fileName)){
edto.setLetter(fileItem.getString(encoding));
}
}
else{
if("file".equals(fileName)){
String sourceFilePath = fileItem.getName();
if(sourceFilePath!=""){
if(fileItem.getSize()>fileMaxSize){
return "文件过大,不能上传!";
}
HttpSession session =request.getSession();
String serverPath = session.getServletContext().getRealPath("");
String savePath = serverPath + "\\userfile";
String saveFileName =GetSaveFileName.getFileName(edto.getIncept(),edto.getSend(),sourceFilePath);
InputStream in = fileItem.getInputStream();
edto.setSaveFileName(saveFileName);
this.saveFile(savePath,saveFileName, in);
}
}
}
}
保存上传的文件到服务器:
//保存文件到服务器
private void saveFile(String savePath,String saveFileName,InputStream in) throws IOException{
File file=new File(savePath);
if(!file.exists()){
file.mkdirs();
}
FileOutputStream out =new FileOutputStream(savePath+"\\"+saveFileName);
byte [] b =new byte[1024];
int len = in.read(b);
while(len!=-1){
out.write(b, 0, len);
out.flush();
len = in.read(b);
}
out.close();
in.close();
}
分享到:
相关推荐
在这个"Servlet 文件上传下载例子"中,我们将探讨如何使用Servlet实现文件的上传和下载功能,这对于构建一个简单的图片文件服务器至关重要。 1. **文件上传** - **MultipartRequest**: 在Servlet中,处理文件上传...
Servlet文件上传是Web开发中一个常见的需求,尤其是在处理用户通过表单提交的包含文件的数据时。在Java Servlet环境中,为了实现文件上传功能,通常需要引入两个关键的库:`commons-fileupload`和`commons-io`。这两...
在这个项目中,我们重点关注的是Servlet如何实现文件上传、下载和缩略图的生成。 首先,让我们深入理解文件上传的过程。在Web应用中,文件上传通常通过HTML表单实现,使用`<input type="file" />`标签让用户选择要...
标题中的“tomcat+tomcat插件+servlet文件上传jar包”揭示了本文将要讨论的是如何在Tomcat服务器上实现文件上传功能,并且利用相关的Tomcat插件进行辅助开发。Tomcat是一款广泛使用的开源Java Servlet容器,它实现了...
总结来说,实现Servlet文件上传下载需要理解Servlet生命周期、HTTP请求处理、多部分数据解析以及文件I/O操作。Apache Commons FileUpload库简化了这一过程,但理解其背后的原理对于解决可能出现的问题和优化性能至关...
总之,Servlet文件上传和下载是Web开发中的常见任务,理解并掌握其原理和实践方法对开发者来说至关重要。通过Servlet 3.0的新特性,我们可以更简洁地处理文件交互,同时配合前端库如AjaxFileUpload,提供流畅的用户...
在Java Web开发中,JSP(Java...总的来说,JSP+Servlet实现文件上传下载涉及到HTML表单、Servlet请求处理、文件I/O以及第三方库的使用。通过这个实例,开发者可以掌握在Java Web环境中处理文件上传下载的基本流程。
在Servlet 3.0之前,Servlet API本身并不直接支持文件上传,因此,这个库成为了上传文件的标准工具。1.2.2版本是一个稳定且广泛使用的版本,它提供了以下关键功能: 1. **解析多部分数据**:FileUpload能够将HTTP...
在这个“JSP+servlet文件上传简单案例”中,我们将探讨如何利用这两种技术实现文件上传功能。文件上传是Web应用中常见的一种需求,例如用户可能需要上传个人头像、文档或者其他形式的数据。 首先,让我们了解一下...
本项目"Servlet文件上传演示"旨在展示如何利用Servlet实现文件上传功能,这对于任何需要用户上传图片、文档等资源的Web应用都是必不可少的。下面我们将深入探讨相关知识点。 一、Servlet简介 Servlet是Java EE...
接下来,我们将详细讲解如何使用Java Servlet和Commons FileUpload进行文件上传: 1. **创建HTML表单**: 首先,你需要在客户端创建一个HTML表单,指定`enctype="multipart/form-data"`,这是用于文件上传的特定...
jsp、servlet 文件上传下载技术详解 文件上传下载是 Web 应用中的一种常见需求,使用 jsp 页面和 servlet 实现文件上传下载是其中的一种解决方案。下面将详细介绍 jsp、servlet 文件上传下载技术。 文件上传下载...
在Java Web开发中,"jsp+servlet文件上传数据库和下载"是常见的功能需求,涉及到的主要技术包括JSP(JavaServer Pages)、Servlet、文件处理以及数据库操作。以下将详细阐述这些知识点。 1. JSP(JavaServer Pages...
JavaServlet文件上传和下载,java初学者笔记!
总结,Servlet文件上传和下载是Java Web开发中必不可少的功能。理解和熟练掌握这些技术,有助于构建更健壮、安全的Web应用程序。在实际应用中,结合最佳实践和安全措施,可以确保系统的稳定性和用户数据的安全。
总结来说,Servlet文件上传是基础,而Struts2在此基础上提供了一套完整的解决方案,包括拦截器、Action支持、结果类型等。理解Servlet的实现有助于我们更好地利用Struts2的文件上传功能,并能够根据需求进行定制。在...
"servlet文件上传(含图片缩放功能)"的示例是利用Servlet实现用户上传图片,并且具备根据用户需求对上传图片进行缩放的功能。这个功能在很多网站如社交媒体、博客平台等非常常见,以便用户能够优化他们的图片大小,...
`JSP(JavaServer Pages)`和`Servlet`是Java EE平台上的两种核心技术,它们常用于构建动态Web项目,包括文件上传功能。本篇文章将深入讲解如何使用JSP和Servlet实现文件上传。 首先,我们需要了解`JSP`的基本概念...
这篇博客"Servlet文件上传与下载"将深入探讨如何利用Servlet实现这两个功能。 首先,我们来了解一下Servlet的基本概念。Servlet是Java编程语言中的一类特殊对象,它运行在服务器端,扩展了Web服务器的功能,用于...