ajax上传方式相对于普通的form上传方式要便捷,在更多的时候都会使用ajax (简单的小示例)

1.要先去下载一个 jquery.ajaxfileupload.js(基于jquery.js上的js) 还有jquery.js

2.首先要先配置一下servlet.xml

<!-- 文件上传 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="10000000" />
</bean>

3.在jsp页面上的form表单中

 <form action="shxt_upload03" method="post" >
文件上传:
<input type = "file" name="myFile" id="myFile" /> <br/>
<input type = "text" name= "shxt" id="shxt" />
<input type = "submit" value="上传文件" />
</form>

<script type="text/javascript">
    $(function(){
       $('#myFile').ajaxfileupload({
         'action': 'shxt_upload03',
         'onComplete': function(response) {
          },
         'onCancel': function() {
        }

});
   });
 </script>

4.在controller里面

public ModelAndView test01(MultipartFile myFile,HttpServletRequest request,HttpServletResponse response){

        //1.判断文件是否存在
if(!myFile.isEmpty()){
//2.获取服务器的绝对路径
String path = request.getSession().getServletContext().getRealPath("/upload");
//3.判断文件夹是否存在
File floder = new File(path);
if(!floder.isDirectory()){//判断是否为文件夹,前提是文件存在
floder.mkdirs();//创建文件
}
try {
//4.获取上传文件的后缀名
String extension = FilenameUtils.getExtension(myFile.getOriginalFilename());//5.创建上传文件的新名称
          //另外一种起名字的方式
//String newName= UUID.randomUUID().toString()+"."+extension;
String newName = (new Date()).getTime()+"_"+(new Random().nextInt(10000))+"."+extension;
File newFile = new File(path+"/"+newName);
myFile.transferTo(newFile); //返回值
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter(); out.write(newName);
out.flush();
out.close();
} catch (Exception e) {
// TODO: handle exception
}
} return null;
}

java Springmvc ajax上传的更多相关文章

  1. springMVC+jsp+ajax上传文件

    工作中遇到的小问题,做个笔记 实现springMVC + jsp + ajax 上传文件 HTML <body> <form id="myform" method ...

  2. java ajax上传文件

    包括案例 1.springmvc上传 2.ajax上传 3.form表单与文件上传 - 1. http://localhost:8080/ 第一种:springmvc上传- 2. http://loc ...

  3. SpringMVC文件上传 Excle文件 Poi解析 验证 去重 并批量导入 MYSQL数据库

    SpringMVC文件上传 Excle文件 Poi解析并批量导入 MYSQL数据库  /** * 业务需求说明: * 1 批量导入成员 并且 自主创建账号 * 2 校验数据格式 且 重复导入提示 已被 ...

  4. 利用springMVC包装类上传多个文件

    前端JSP页面代码片段: <!-- springMVC包装类上传文件 --><form name="uploadFiles" id="uploadFil ...

  5. springmvc文件上传AND jwt身份验证

    SpringMVC文件上传 思路:1.首先定义页面,定义多功能表单(enctype=“multipart/form-data”)2.在Controller里面定义一个方法,用参数(MultipartF ...

  6. SpringMVC文件上传实现

    SpringMVC(注解)上传文件需要注意的几个地方:1.form的enctype="multipart/form-data",这个是上传文件必须的2.applicationCon ...

  7. Java Web文件上传

    参考资料:http://www.cnblogs.com/xdp-gacl/p/4200090.html 一.问题描述 Java Web文件上传需要借助一些第三方库,常用的是借助Apache的包,有两个 ...

  8. FormData对象实现文件Ajax上传

    后台: import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; imp ...

  9. SpringMVC在上传文件的时候提示The current request is not a multipart request错误

    @RequestMapping("/insertOrder") @ResponseBody public  Object insertOrder(String userId,Htt ...

随机推荐

  1. 用EPOLL进行压力测试

    在以前的博客中提到的一个服务端,在以前压力测试的过程中,发现单核CPU最多能达到1000TPS 还以为是服务端性能不够好,所以一直想着怎么去优化它. 但优化的思路明显不多,所以就考虑换一种压力测试的方 ...

  2. Python中raw字符串与多行字符串

    如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦.为了避免这种情况,我们可以在字符串前面加个前缀r ,表示这是一个 raw 字符串,里面的字符就不需要转义了.例如: r'\(~_~ ...

  3. 简单的谈一下.NET下的AOP

    AOP有着它优良的好处, 从一个层面上去关心一个问题, .NET对此有良好的支持.如果硬生生的看MSDN不理解里面的思想是有掉入深渊的感觉的. 为了理解AOP的机制, 我们从需求开始说起,实现AOP就 ...

  4. ORM之二:核心接口与扩展操作

    一.数据库提供者接口 /// <summary> /// 数据库提供者 /// </summary> public interface IDbProvider : IDispo ...

  5. [Practical Git] Switching between current branch and last checkout branch

    When working on a project, it is much easier to work on features and bugs in isolation of the rest o ...

  6. PHP中的全局变量$_SERVER

    1.常用 $_SERVER['PHP_SELF'] #当前正在执行脚本的文件名,与 document root相关.$_SERVER['argv'] #传递给该脚本的参数.$_SERVER['argc ...

  7. python列表删除重复元素的三种方法

    给定一个列表,要求删除列表中重复元素. listA = ['python','语','言','是','一','门','动','态','语','言'] 方法1,对列表调用排序,从末尾依次比较相邻两个元素 ...

  8. java code to byte code--partone--reference

    Understanding how Java code is compiled into byte code and executed on a Java Virtual Machine (JVM) ...

  9. android.os.NetworkOnMainThreadException 异常处理

    当我试图在UI线程(MainActivity)连接网络的时候,运行时抛出异常droid.os.NetworkOnMainThreadException 安卓的官方文档说 The exception t ...

  10. Hibernate学习笔记--------1.单表操作

    一.hibernate基本开发步骤 1.引入包,官网下载的包,目录\lib\required下的jar都加进去,这里使用的是 hibernate-release-5.2.1.Final 2.编写配置文 ...