项目结构视图:
web.xml文件内容:
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
- http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
- <servlet>
- <servlet-name>spring-action</servlet-name>
- <servlet-class>
- org.springframework.web.servlet.DispatcherServlet
- </servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>spring-action</servlet-name>
- <url-pattern>*.mhtml</url-pattern>
- </servlet-mapping>
- <welcome-file-list>
- <welcome-file>testuploadfile.jsp</welcome-file>
- </welcome-file-list>
- </web-app>
复制代码
spring-action-servlet.xml文件内容:
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
- <!--
- 使用Spring已集成的Commons FileUpload上传组件。
- 1.为了让DispatcherServlet处理MultipartRequest,
- 在Spring配置文件中声明一个MultipartResolver。
- 这样一旦某个Request是一个MultipartRequest,
- 它就会首先被MultipartResolver处理,然后再转发到相应的Controller。
- -->
- <bean id="multipartResolver"
- class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
- <!-- set the max upload size10MB -->
- <property name="maxUploadSize">
- <value>10485760</value>
- </property>
- </bean>
复制代码
- <!--
- 2.配置一个Controller,来处理上传的文件。
- -->
- <bean name="fileUploadController" autowire-candidate="false"
- class="test.web.controller.uploadfile.FileUploadController">
- <property name="commandClass" value="java.lang.Object" />
- <!-- 上传失败时跳转页面 -->
- <property name="formView" value="/user/err.jsp" />
- <!-- 上传成功时跳转页面 -->
- <property name="successView"
- value="redirect:/testuploadfile.jsp" />
- <property name="uploadDir" value="c:/testUploadFile/" />
- </bean>
复制代码
- <!--
- 3.配置一个URL映射控制器,直接将URL映射到相应的控制器处理。
- -->
- <bean id="urlMapping"
- class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
- <property name="mappings">
- <props>
- <prop key="/testuploadfile.mhtml">
- fileUploadController
- </prop>
- </props>
- </property>
- </bean>
复制代码
- <!--
- 4.配置一个视图解析器,将逻辑视图名解析为一个用模板文件(如JSP或Velocity模板)渲染的视图对象。
- -->
- <bean id="viewResolver"
- class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="requestContextAttribute" value="rc" />
- <property name="viewClass"
- value="org.springframework.web.servlet.view.JstlView" />
- <property name="prefix" value="" />
- <property name="suffix" value=".jsp" />
- </bean>
- </beans>
复制代码
FileUploadController.java文件内容:
- package test.web.controller.uploadfile;
- import java.io.File;
- import java.util.Iterator;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.springframework.validation.BindException;
- import org.springframework.web.multipart.MultipartFile;
- import org.springframework.web.multipart.MultipartHttpServletRequest;
- import org.springframework.web.servlet.ModelAndView;
- import org.springframework.web.servlet.mvc.SimpleFormController;
- public class FileUploadController extends SimpleFormController {
- private String uploadDir;//上传文件路径
- public void setUploadDir(String uploadDir) {
- this.uploadDir = uploadDir;
- }
- public String getUploadDir() {
- return this.uploadDir;
- }
- protected ModelAndView onSubmit(HttpServletRequest request,
- HttpServletResponse response, Object cmd, BindException errors)
- throws Exception {
- uploadFile(request);
- return new ModelAndView(getSuccessView());
- }
- private void uploadFile(HttpServletRequest request) {
- // 转型为MultipartHttpRequest:
- MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
- // 遍历所有文件域,获得上传的文件
- for (Iterator it = multipartRequest.getFileNames(); it.hasNext();) {
- String key = (String) it.next();
- MultipartFile file = multipartRequest.getFile(key);
- saveFile(file);
- }
- }
- private void saveFile(MultipartFile file) {
- if (file == null || file.isEmpty())
- return;
- String filename = file.getOriginalFilename();
- String localfileName = uploadDir + filename;
- // 写入文件
- File source = new File(localfileName.toString());
- try {
- file.transferTo(source);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
复制代码
testuploadfile.jsp文件内容:
- <%@ page language="java" contentType="text/html; charset=UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Insert title here</title>
- <style>
- .addAttachFileUrl{
- position: relative;
- font-size: 12px;
- }
- .file {
- position: absolute;
- width: 1px;
- left: -3px;
- filter: Alpha(opacity=0);
- cursor: hand;
- top: -3px;
- }
- .filelistItem {
- display: block;
- background: #ffffcc;
- font: "宋体";
- font-size: 12px;
- }
- </style>
- <script type="text/javascript">
- var i=1;
- //文件上传
- var attachname = "attach_";
- function addFile(obj){
- if(obj.value.length>0){
- var fileNewInput = document.createElement("<input type='file' name='"+
- attachname + i + "' class='file' onchange='addFile(this)'/>");
- var fileName = document.createElement("span");
- fileName.className = "filelistItem";
- fileName.innerHTML = obj.value+
- " <a href='javascript:void(0)' onclick='delFile(this)'>删除</a>";
- fileName.appendChild(obj);
- document.getElementById("filelist").appendChild(fileName);
- document.getElementById("filebutton").appendChild(fileNewInput)
- obj.style.display="none";
- i = i + 1;
- }
- }
- function delFile(obj){
- document.getElementById("filelist").removeChild(obj.parentNode)
- }
- </script>
- </head>
- <body>
- <FORM id="myForm" method="POST" enctype="multipart/form-data"
- action="testuploadfile.mhtml">
- 上传附件:
- <div id="filelist"></div>
- <br />
- <a class="addAttachFileUrl" href="javascript:void(0)" id="filebutton">点击添加附件
- <input type="file" name="file_0" class="file"
- onchange="addFile(this)" /> </a>
- <br />
- <input type="submit" value="提交">
- </FORM>
- </body>
- </html>
复制代码
|
相关推荐
在Java编程中,文件上传是一项常见的任务,尤其在开发Web应用程序时,如用户需要上传个人头像、上传文档等。本教程将详细讲解如何在Java中实现文件上传功能,包括处理图片和文本文件。 首先,我们需要理解文件上传...
在Java中,文件上传和下载是常见的Web应用功能,尤其在处理用户提交的表单数据时,例如上传图片。在本示例中,我们将探讨如何实现一个简单的文件上传功能,并展示相关的HTML页面代码和Java后端处理代码。 首先,...
Java文件异步上传是一种在Web应用中常见的技术,它允许用户在不阻塞浏览器界面的情况下上传文件。这种技术尤其在处理大文件或者批量上传时,能够显著提升用户体验,因为它们不会冻结页面,允许用户继续与应用程序...
在Java开发中,多文件上传是一项常见的功能,尤其在Web应用中,用户可能需要一次性上传多个文件,如图片、文档等。本知识点将详细介绍如何在Java中实现这一功能,以及结合Flash实现上传界面并显示上传进度条。 1. *...
java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件...
首先,我们来看“java文件上传”这个知识点。Java提供了多种方法来处理文件上传,最常见的是使用Servlet API中的Part接口,这是Java EE 7引入的,专门用于处理multipart/form-data类型的HTTP请求,也就是通常用于...
利用java图形化界面和网络编程相结合实现的--文件上传。 运行步骤: (1)分别运行工程两个包中的两个.java文件(UploadClient.java和UploadServer.java)分别会弹出“上传客服端”和“上传服务器”两个窗口。 ...
首先,我们需要理解Java中的文件上传机制。在Java Servlet规范中,`multipart/form-data`类型的HTTP请求用于处理文件上传。`javax.servlet.http.Part`接口提供了处理上传文件的方法。通常,我们使用Servlet 3.0及...
Java中的`Commons-FileUpload`库是处理文件上传的常用工具,它可以处理`multipart/form-data`格式的请求,支持分块上传。为了处理大文件,我们需要自定义一个`FileItemFactory`和`ServletFileUpload`实例,并设置`...
在Java Spring框架中,文件上传是一项常见的功能,用于接收用户通过Web界面提交的文件。Spring提供了强大的MultipartFile接口,使得处理文件上传变得简单且高效。本文将深入探讨如何使用Java和Spring实现文件上传,...
在Java开发中,大文件上传是一项常见的需求,尤其是在Web应用中。大文件上传不仅涉及到文件的传输,还需要考虑用户体验,如进度条展示,以及服务器端的处理能力。在这个场景下,DWР(Direct Web Remoting)框架是一...
总之,Apache Commons IO和Apache Commons FileUpload是Java开发中处理文件上传不可或缺的工具。它们提供了丰富的功能,帮助开发者安全、高效地完成文件上传操作,同时也大大减少了处理文件上传时可能出现的问题。在...
#### 二、常见的Java文件上传组件及其特点 1. **Smartupload**: - **优点**:出现较早,有一定的社区支持。 - **缺点**:不再更新新版本;支持的最大文件大小有限(约100MB),无法满足部分高需求场景。 2. **...
java 文件上传工具类 java 文件上传工具类java 文件上传工具类 java 文件上传工具类java 文件上传工具类 java 文件上传工具类java 文件上传工具类 java 文件上传工具类java 文件上传工具类 java 文件上传工具类java ...
在Java编程语言中,文件上传是一项常见的功能,广泛应用于各种Web应用中,如社交媒体平台、云存储服务等。实现基于Java的文件上传涉及到多个技术点,包括Servlet、HTTP协议、多部分请求(Multipart Request)以及...
Java 实现上传文件类型检测过程解析是指在进行文件上传时,对上传文件的格式进行控制,以防止黑客将病毒脚本上传。单纯的将文件名的类型进行截取的方式非常容易遭到破解,上传者只需要将病毒改换文件名便可以完成...
在Java开发中,文件上传和下载是常见的任务,特别是在构建Web应用程序时。为了实现这些功能,开发者通常会依赖一些库,这些库提供了便捷的API来处理文件操作。在这个压缩包中,包含的“commons”系列jar文件就是用来...
在本篇文章中,我们将详细介绍JAVA SFTP文件上传、下载及批量下载的实例,包括相关的概念、API介绍、代码实现等方面的内容。 首先,我们需要了解什么是SFTP?SFTP(Secure File Transfer Protocol)是一种安全的...
(1)分别运行工程两个包中的两个.java文件(UploadClient.java和UploadServer.java)分别会弹出“上传客服端”和“上传服务器”两个窗口。 (2)单击“上传服务器”窗口中的“启动服务..”按钮。 (3)单击“上传...
在这个场景中,我们提到了基于"COS"的Java文件上传组件。COS通常指的是云对象存储(Cloud Object Storage),如腾讯云的对象存储服务,它为开发者提供了安全、稳定、高效的存储解决方案。 文件上传组件在Java中扮演...