文档章节

SpringMVC+jquery-1.8.0.min.js+ajaxfileupload.js异步上传文件

素人派
 素人派
发布于 2016/12/31 20:45
字数 327
阅读 11
收藏 0
[codesyntax lang="javascript" lines="normal"]
<input type="file" id="file" name="file"><br/>
    <input type="hidden" id="flag" name="flag" value="ajax文件上传"/>
    <input type="button" id="btnUpload" value="上传图片" /><script type="text/javascript">
    $(function(){
       //上传图片
       $("#btnUpload").click(function() {
            ajaxFileUpload();
       });
    });
function ajaxFileUpload() {
   $.ajaxFileUpload({
        url: 'upload/uploadFile', 
        type: 'post',
        secureuri: false, //一般设置为false
        fileElementId: 'file', // 上传文件的id、name属性名
        dataType: 'text', //返回值类型,一般设置为json、application/json
       data : {"flag":$("#flag").val()}, // 其它请求参数   //传递参数到服务器
        success: function(data, status){  
                alert(data);
            },
            error: function(data, status, e){ 
                alert(e);
            }
        });
        //return false;
    }
    </script>//controller
@ResponseBody
 @RequestMapping(value="saveCredential")
 public String saveCredential(HttpServletRequest request,Credential credential,MultipartFile credentialFile){
  return resumeService.saveCredential(request,credential,credentialFile);
 }
//service

if(!credentialFile.isEmpty()){
    CommonsMultipartFile cf= (CommonsMultipartFile)credentialFile;//springmvc转换io  File操作
    DiskFileItem fi = (DiskFileItem)cf.getFileItem();
    File iOFile = fi.getStoreLocation(); 
    String fileName=credentialFile.getOriginalFilename();//上传文件名称
    long fileSize=credentialFile.getSize();//得到文件大小byte
    String fileType = fileName.substring(fileName.lastIndexOf("."));//上传文件后缀
    String root=System.getProperty("webapp.root");//得到webapp根路径
    Calendar cal=Calendar.getInstance();
    int year=cal.get(Calendar.YEAR);//得到年
    int month=cal.get(Calendar.MONTH)+1;//得到月,因为从0开始的,所以要加1
    int day=cal.get(Calendar.DAY_OF_MONTH);//得到天
    //文件存储路径
    String savePath=root+SystemConfig.getProperty("uploadPath")+File.separator+"attachmentResume"+ File.separator+year+File.separator+month+File.separator+day;
    File floder = new File(savePath);//查找文件存储文件夹
    if (!floder.exists()) {//判断文件存储的文件夹是否存在
     floder.mkdirs();
    }
    String newName=UUIDUtil.generateUUID()+fileType;
    String dstPath = savePath+"/"+newName;
    File dstFile = new File(dstPath);
    try {
     FileUtil.copy(iOFile,dstFile);
     FileUtils.deleteQuietly(iOFile);
    } catch (Exception e) {
     e.printStackTrace();
    }

   }
[/codesyntax]

本文转载自:http://surenpi.com/2015/01/07/springmvcjquery-1-8-0-min-jsajaxfileupload-js%e5%bc%82%e6%ad%a5%e4%...

素人派
粉丝 26
博文 1907
码字总数 10223
作品 6
东城
程序员
私信 提问

暂无文章

GatewayWorker 报错:stream_socket_server(): unable to connect to tcp://0.0.0.0:1238

GatewayWorker 报错:stream_socket_server(): unable to connect to tcp://0.0.0.0:1238 (Address already in use) 官方文档虽然有相同的问题,但是对我的问题没起作用…… 后面发现自己手贱...

wenzhizhong
昨天
2
0
REST接口

文章来源 https://zhuanlan.zhihu.com/p/28674721?group_id=886181549958119424 http://www.ruanyifeng.com/blog/2014/05/restful_api.html REST 对请求的约定 REST 用来规范应用如何在 HTTP......

Airship
昨天
3
0
Spring Cloud Config 统一配置中心

Spring Cloud Config 统一配置中心 一、统一配置中心 统一管理配置 通常,我们会使用配置文件来管理应用的配置。如一个 Spring Boot 的应用,可以将配置信息放在 application.yml 文件中,如...

非摩尔根
昨天
2
0
android ------ AAPT2 error: check logs for details解决方法

AAPT 是全称是 Android Asset Packaging Tool,它是构建 App,甚至是构建 Android 系统都必不可少的一个工具。它的作用是将所有资源文件压缩打包到Android APK 当中。我们在 Android SDK 目录...

切切歆语
昨天
2
0
今天的学习

今天学到了<select></select>标签: <label for="unittype">Select unit type: </label><select id="unittype" name="unittype" autofocus > <option value="1"> Miner </option> ......

墨冥
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部