`

spring mvc ajax异步文件的上传和普通文件上传

 
阅读更多
        表单提交方式文件上传和ajax异步文件上传


一:首先是我在spring mvc下的表单提交方式上传
ssm的包配置我就不一一详细列出来了,但是上传的包我还是列出来



这一段我也不知道怎么给大家讲解就是直接贴代码了哈
前端的代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="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>文件的上传和下载</title>
<script type="text/javascript" src="js/jquery-1.9.1.min.js">
	
</script>
<script type="text/javascript" src="js/jquery-form.js">
	
</script>
<script type="text/javascript">
	</script>
</head>
<body>
	<form method="POST" enctype="multipart/form-data" class="fill" action="testFileUpload4Files">
		<table>
			<tr>
			<!-- 这里是多个文件上传 -->
				<td>添加:</td>
				<td><input type="file" name="file" /><br /> <input
					type="file" name="file" /><br /> <input type="file" name="file" /><br />
					<input type="file" name="file" /><br /></td>
			</tr>
			<tr>
				<td>描述:</td>
				<td><input type="text" name="desc" />
				</td>
			</tr>
			<tr>
				<td colspan="2"><input type="submit" value="上传" />
				</td>
			</tr>
		</table>
	</form>
</body>
</html>

这里的enctype默认是application/x-www-form-urlencoded当我们设置为multipart/form-data用以支持向服务器发送二进制数据这样我们才能上传。就是这样直接传递到服务器里面去
接下来就是支持多文件传递的服务端的代码
 @RequestMapping("/testFileUpload4Files")
  public String addUser(@RequestParam("file") CommonsMultipartFile[] files,
      HttpServletRequest request) {
    for (int i = 0; i < files.length; i++) {
      System.out.println("fileName:" + files[i].getOriginalFilename());
      if (!files[i].isEmpty()) {
        try {
          files[i].transferTo(new File("d:\\temp\\" + files[i].getOriginalFilename()));
        } catch (IllegalStateException e) {
          e.printStackTrace();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
    return "/success";
  }

现在就是直接选择文件提交表单就可以传递数据
二:ajax的异步文件上传

相信多数人都会提交表单方式上传文件但是遇到ajax可能有些没遇到过或者没得demo,我也是今天看了不少demo才知道可以用jquery-form.js这个插件来实现
插件里面我们可以直接调用ajaxForm实现异步上传,里面的种种方法定制上传样式就大家去实现了这里就只实现简单的上传,哈哈直接代码

前端代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"
	contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
  String path = request.getContextPath();
			String basePath = request.getScheme() + "://"
					+ request.getServerName() + ":" + request.getServerPort()
					+ path;
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta charset="utf-8">
<title>springmvc上传文件</title>
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/jquery-form.js"></script>
<script type="text/javascript">
	$(document).ready(function() {
		$("input[type='submit']").on("click", function() {
			$(".fill").ajaxForm({
				url : "testFileUpload4Files1", // 请求的url
				type : "post", // 请求方式
				dataType : "text", // 响应的数据类型
				async : true, // 异步
				success : function(data) {
					alert(data);
				},
				error : function() {
					alert("数据加载失败!");
				}
			});
		});
	});
</script>
</head>
<body>
	<form method="POST" enctype="multipart/form-data" class="fill">
		<table>
			<tr>
				<td>添加:</td>
				<td><input type="file" name="file" /><br /> <input
					type="file" name="file" /><br /> <input type="file" name="file" /><br />
					<input type="file" name="file" /><br />
				</td>
			</tr>
			<tr>
				<td>描述:</td>
				<td><input type="text" name="desc" /></td>
			</tr>
			<tr>
				<td colspan="2"><input type="submit" value="上传" /></td>
			</tr>
		</table>
</body>
</html>



服务端我是返回他的一个文件名表示上传成功
@ResponseBody
  @RequestMapping(value="/testFileUpload4Files1",produces = "text/html;charset=UTF-8")
  public String ajaxUpload(@RequestParam("file") CommonsMultipartFile[] files,
      HttpServletRequest request) {
    StringBuffer buffer = new StringBuffer();

    for (int i = 0; i < files.length; i++) {
      buffer.append(files[i].getOriginalFilename());
      System.out.println("fileName:" + files[i].getOriginalFilename());
      if (!files[i].isEmpty()) {
        try {
          files[i].transferTo(new File("d:\\temp\\" + files[i].getOriginalFilename()));
        } catch (IllegalStateException e) {
          e.printStackTrace();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
    return buffer.toString();
  }

好的写完了  提供大家参考的主要还是源码大家可以直接看源码
  • 大小: 15 KB
分享到:
评论

相关推荐

    SpringMVC+Ajax异步文件上传

    2. **Ajax异步文件上传** - **FormData对象**:在前端,我们需要使用`FormData`对象来封装待上传的文件,然后通过`XMLHttpRequest`或`fetch` API来发送异步请求。 - **事件监听**:`Ajax`可以监听文件上传的进度,...

    spring mvc+ajax 文件上传

    在这里,我们将使用Ajax实现前端文件的异步上传,提高用户体验。 1. **前端准备**: - 首先,需要在HTML中创建一个表单,包含一个文件输入元素(`&lt;input type="file"&gt;`)。通过JavaScript监听文件输入元素的`...

    spring mvc文件上传实现进度条

    在Spring MVC框架中,文件上传是一项常见的功能,而实现文件上传进度条则能提供更好的用户体验。这个场景通常涉及到前端的JavaScript或jQuery库(如jQuery File Upload)与后端的Spring MVC控制器之间的交互,以及...

    ajaxupload在spring mvc4.2中实现简单文件上传

    AjaxUpload是一种利用JavaScript和Ajax技术实现在后台服务器上异步上传文件的方法。它通过创建隐藏的IFrame和表单来模拟文件提交,避免了浏览器对跨域限制的问题,同时利用Ajax进行数据传输,实现无刷新的交互。 2...

    一个实用了spring mvc和ajax异步请求的例子

    总结起来,这个"一个实用了spring mvc和ajax异步请求的例子"涵盖了Web开发中的重要概念,包括Spring MVC的Controller设计、RESTful API的实现以及Ajax的异步数据交互。这样的组合使得Web应用更加动态,用户体验更佳...

    Spring MVC异步模式

    本篇文章将深入探讨Spring MVC中的异步处理机制,以及如何通过源码理解和实现这一特性。 首先,我们需要了解Spring MVC异步模式的基本概念。在传统的同步处理中,请求到达服务器后,服务器会分配一个线程来处理该...

    spring mvc+ajax

    将Spring MVC与Ajax结合使用,可以实现页面的异步更新,提升用户体验,同时保持服务器负载均衡。 首先,我们需要理解Spring MVC的基本工作流程。当用户发起请求时,Spring MVC的DispatcherServlet会拦截这个请求,...

    spring mvc 上传文件显示进度

    在Spring MVC中实现文件上传并显示进度是一项常见的需求,特别是在用户需要等待较长时间的大型文件上传时。这个功能可以通过监听文件上传的进度并在前端实时更新来提升用户体验。下面将详细介绍如何利用Spring MVC...

    springmvc+ajax异步上传 希望代码对大家有用

    通过上述步骤,我们可以构建一个完整的Spring MVC + Ajax异步文件上传系统。这种方式既实现了文件上传功能,又保持了页面的交互性,提高了用户体验。在实际项目中,还可以根据需要添加错误处理、进度条显示等功能,...

    Ajax异步上传文件

    综上所述,Ajax异步上传文件结合SpringMVC提供了无刷新的文件上传体验,通过XMLHttpRequest对象和SpringMVC的`MultipartFile`接口,实现了前后端的协同工作。在实际应用中,应结合具体需求进一步完善功能和优化用户...

    java web ajax异步提交方式上传文件

    Java Web中的Ajax异步提交方式上传文件是一种常见且高效的用户交互技术,它允许用户在不刷新整个页面的情况下发送数据到服务器并接收响应。本项目利用Maven构建,前端使用jQuery库以及jQuery-form插件,后端则采用...

    java文件异步上传

    首先,异步上传主要依赖于JavaScript和Ajax技术。`jQuery.uploadify`是一个广泛使用的JavaScript插件,用于实现文件的异步上传。在提供的文件列表中,`uploadify.css`和`jquery.uploadify-3.1.js`(以及其压缩版`...

    spring第11章--ajax,上传下载,拦截器.rar_spring mvc_spring 下载_spring 使用ajax

    本章将探讨如何在Spring MVC中集成和使用Ajax,以及涉及的上传和下载功能,同时还会介绍Spring MVC中的拦截器。 1. **Spring MVC与Ajax交互**: - **jQuery Ajax**:Spring MVC常与jQuery库结合使用,通过$.ajax()...

    ajax异步上传_ajax异步上传_

    总的来说,Ajax异步上传涉及前端的JavaScript交互和后端的文件处理。通过Ajax,我们可以实现在不刷新页面的情况下完成文件上传,提高用户体验。在实际开发中,还需要考虑错误处理、进度显示、多文件上传等功能,以...

    Spring MVC 文件上传下载 后端 - Java.zip

    - **Ajax上传**:为了提供更好的用户体验,可以使用jQuery或axios等库通过Ajax异步上传文件,显示进度条,并实时反馈结果。 5. **性能优化** - **文件切片**:对于大文件,可以采用分块上传的方式,提高上传效率...

    Spring MVC 教程快速入门 深入分析

    十五、Spring MVC处理ajax请求:讲解了如何在Spring MVC中处理异步JavaScript和XML(AJAX)请求,包括配置和控制器中的代码实现。 十六、Spring MVC关于写几个配置文件的说明:介绍了在Spring MVC项目中需要配置...

    Spring + Hibernate + Spring mvc +Ajax 整合

    Spring、Hibernate、Spring MVC 和 Ajax 是四个在Java Web开发中广泛应用的技术框架,它们共同构建了一个高效、灵活且功能丰富的后端系统。以下是对这些技术及其整合应用的详细说明: Spring框架是一个全面的企业级...

    Spring3 MVC Ajax with JSON

    在现代Web开发中,Spring框架的MVC模块与Ajax和JSON的集成是创建动态、响应式用户界面的关键技术。这个"Spring3 MVC Ajax with JSON"项目提供了一个Eclipse工程,包含了实现这一功能所需的所有依赖库。以下是关于这...

    springmvc ajax 文件上传下载文件 multiple

    在开发Web应用时,文件上传和下载功能是常见的需求,特别是在使用Spring MVC框架时。Spring MVC提供了强大的支持来处理文件的上传与下载,同时结合AJAX技术,可以实现无刷新的交互体验。在这个场景中,"springmvc ...

Global site tag (gtag.js) - Google Analytics