`

servlet 上传文件

 
阅读更多

原文:http://zhidao.baidu.com/question/263826186.html

 

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上传文件,解决网速慢以及大文件,耗完线程问题

    假如一个场景,用户上传文件,某些用户网速较慢,同时存在100个这样的用户,如果BIO且最大线程设为100会导致线程用完。NIO怎么来解决这个问题? 本实例采用tomcat8作为容器,开启异步servlet读写事件,解决高并发IO...

    servlet 上传文件流保存到数据库

    以上就是使用Servlet上传文件流并保存到数据库的基本流程。实际应用中可能还需要处理一些额外的问题,比如错误处理、文件大小限制、文件类型检查等。同时,为了提高性能和安全性,可以考虑使用连接池管理数据库连接...

    Servlet上传文件并显示进度条

    "Servlet上传文件并显示进度条"这个主题涵盖了如何在用户上传大文件时提供实时进度反馈,以增强用户体验。在这个过程中,我们需要处理以下几个核心知识点: 1. **Multipart解析器**:Servlet 3.0及以上版本引入了...

    利用COS Servlet上传文件

    总的来说,利用COS Servlet上传文件涉及到客户端的表单提交和服务器端的Servlet处理,需要对HTTP协议、文件上传、MultipartRequest以及可能的业务逻辑有深入理解。同时,确保在实现过程中充分考虑安全性,以提供健壮...

    JSP+servlet上传文件有 进度条

    总结来说,实现"JSP+servlet上传文件有进度条"需要结合JSP、Servlet、文件上传库(如Commons-FileUpload)以及前端的AJAX和JavaScript技术。通过异步请求和实时的进度反馈,为用户提供流畅的文件上传体验。在实际...

    java实现利用HTTP基于servlet上传文件至服务器.pdf

    "Java 实现利用 HTTP 基于 Servlet 上传文件至服务器" 文件上传概述 文件上传是指客户端将文件传输到服务器端的过程。在 Web 开发中,文件上传是非常常见的操作,例如上传头像、上传文件等。在 Java 中,可以使用 ...

    servlet上传文件详细解析

    servlet上传文件详细解析 大家好好看

    java servlet上传文件 项目中用的.绝对能用

    上载文件.轻松搞定.java Servlet上传文件.

    servlet上传文件(后)

    "servlet上传文件(后)"这个标题暗示我们将探讨的是如何使用Servlet接收并处理客户端上传的文件。这篇博客可能详细解释了文件上传的后端处理过程,包括数据解析、文件保存以及异常处理等环节。 首先,我们需要了解...

    jsp与servlet 上传文件 javaBean上传文件

    在处理文件上传需求时,JSP通常作为前端界面,而Servlet则负责后端逻辑处理。本篇文章将深入探讨如何使用JSP与Servlet进行文件上传,并特别关注如何解决中文文件名乱码的问题。 首先,我们需要理解文件上传的基本...

    servlet上传文件demo

    自己写的servlet上传文件demo,有注释方便学习。 包含commons-io 和 commons-fileupload 架包 jdk大于等于1.6可直接用,如果jdk版本小于1.6请换一个低版本io的架包即可

    SERVLET 上传文件原理,Cache-Contro,java编码,jbpm原理

    Servlet上传文件原理: Servlet在Java Web开发中是服务器端处理HTTP请求的核心组件。在文件上传场景下,Servlet接收客户端通过POST请求发送的多部分/形式数据(multipart/form-data)。Servlet API提供`...

    JSP+Servlet实现文件上传到服务器功能

    本文实例为大家分享了JSP+Servlet实现文件上传到服务器功能的具体代码,供大家参考,具体内容如下 项目目录结构大致如下: 正如我在上图红线画的三个东西:Dao、service、servlet 这三层是主要的结构,类似 MVC ...

    ajax异步文件上传,servlet处理

    在现代Web应用中,用户经常需要上传文件,如图片、文档等。为了提供更好的用户体验,开发者通常会采用AJAX(Asynchronous JavaScript and XML)技术实现异步文件上传,避免传统方式下页面刷新带来的中断感。AJAX允许...

    jsp servlet 上传文件

    - **文件大小限制**:设置上传文件的最大大小,防止恶意大文件上传导致服务器资源耗尽。 - **文件类型检查**:只允许特定类型的文件上传,例如只接受图片文件,防止恶意文件上传。 - **文件名处理**:避免使用原始...

    servlet实现文件上传下载

    本教程将详细讲解如何使用Servlet实现文件的上传和下载功能,其中涉及到的主要技术点包括Servlet API、Multipart解析以及文件流操作。 首先,我们需要了解Servlet在文件上传中的作用。Servlet在接收到客户端(通常...

    ftp、servlet上传文件

    Servlet在处理HTTP请求时,可以解析请求体中的multipart/form-data数据,这是上传文件通常使用的格式。你可以使用Commons FileUpload库来处理这个任务。首先,创建一个DiskFileItemFactory来配置临时存储和大小限制...

    servlet上传文件实现代码详解(四)

    servlet上传文件实现代码详解 servlet上传文件是指将客户端的文件上传到服务器端,服务器端使用servlet来处理上传的文件。下面是servlet上传文件的实现代码详解。 首先,需要了解上传文件的基本概念。上传文件时,...

    jsp servlet 上传文件显示进度

    在IT行业中,JSP(JavaServer Pages)和Servlet是用于...总的来说,通过结合JSP、Servlet和AJAX技术,我们可以构建出一个优雅的文件上传系统,它不仅可以处理文件上传,还能提供实时的进度反馈,极大地提升了用户体验。

    Servlet上传文件

    * 4)高水平的API文件上传处理 ServletFileUpload upload = new ServletFileUpload(factory); * 目的是调用 parseRequest(request)方法 获得 FileItem 集合list , * * 5)在 FileItem 对象中 获取信息, ...

Global site tag (gtag.js) - Google Analytics