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. 【转载】Restful 简介

    转自阮一峰的网络日志  http://www.ruanyifeng.com/blog/2011/09/restful.html 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种&quo ...

  2. xampp配置host和httpd可以随意访问任何本机的地址

    1.修改host 不管你用的是什么系统,windows, mac,电脑上都会有一个 hosts 文件,修改这个文件,可以改变主机名所对应的 ip 地址.比如你安装了 Web 开发环境(MAMP 或 W ...

  3. GridView控件显示图片

    与图片的二进制数据库存储和显示 1.将图片以二进制存入数据库 2.读取二进制图片在页面显示 3.设置Image控件显示从数据库中读出的二进制图片 4.GridView中ImageField以URL方式 ...

  4. cocos2d-x CCSpriteBatchNode

    转自:http://www.cnblogs.com/jiackyan/archive/2013/04/14/3019880.html 1.先说下渲染批次:这是游戏引擎中一个比较重要的优化指标,指的是一 ...

  5. metasploit(MSF)终端命令大全

    show exploits   列出metasploit框架中的所有渗透攻击模块. show payloads   列出metasploit框架中的所有攻击载荷. show auxiliary   列 ...

  6. linux修改文件权限和用户组管理小结

    如何在linux下修改组权限 chmod g+r path/file 加读权限 当前目录 chmod -R g+r path/file 加读权限 当前目录以及子目录 g-r 减读权限g+w 加写权限g ...

  7. 理解 auto_ptr<T>

    1.auto_ptr<T>解决什么问题? 在堆上获取的资源,客户可能会忘记delete,或者由于异常没有执行到delete,导致资源泄漏.在栈上分配的对象,有个特点,不论出现什么情况,超出 ...

  8. POJ_1365_Prime_Land

    //懒得解释 #include <iostream> #include <cstring> #include <cmath> #include <cstdio ...

  9. Windows下python环境变量配置

    默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量.此时不能在命令行直接使用python命令. 1. 首先需要在系统中注册python环境变量:假设python的安装 ...

  10. C#_delegate - 用委托实现事件,Display和Log类都使用Clock对象

    //public event SecondChangeHandler OnSecondChange; 若将委托加上event,则视作是事件,不是委托,外围就不能直接对OnSecondChange传值 ...