ssm 框架上传图片到服务器

来源:互联网 发布:php kahlan 编辑:程序博客网 时间:2024/05/21 10:44

**

1.html部分

<input id="file" class="kf-img-file" type="file">

2.JS部分

var _csrf = $("meta[name='_csrf']").attr("content"); *//请求令牌(不同项目定义不同,看架构)*var formData = new FormData();formData.append('file', $('#file')[0].files[0]);//从div input 中取得$.ajax({         url: '../customService/uploadChatPicture.do?_csrf='+_csrf,         type: 'POST',         cache: false,         async: false, //同步(不是必须)         data: formData,         processData: false,//上传必须         contentType: false,//上传必须         success:function(data){                url = $.parseJSON( data ).src; //回调解析,图片路径        }

3.controller部分

@RequestMapping(value = "/uploadChatPicture")@ResponseBody    public FileUploadResult upload(HttpServletRequest req){    //从请求中获取        FileUploadResult result = null ;        MultipartHttpServletRequest mReq  =  null;        MultipartFile file = null;        InputStream is = null ;        // 新的文件名        String newFileName = "";        // 原始文件名   UEDITOR创建页面元素时的alt和title属性        String originalFileName = "";        try {            mReq = (MultipartHttpServletRequest)req;            //formData.append('file', $('#file')[0].files[0]);            file = mReq.getFile("file"); //获取上传图片,"file"为append中追加的名字            long size = file.getSize();            if(!file.isEmpty()){              is = file.getInputStream();  //以下为上传到阿里服务器              String fileDir = OSSUnit.fileDir();      newFileName=fileDir+OSSUnit.newFileName(file.getOriginalFilename());       OSSUnit.uploadObject(ossClient, is, newFileName, bucketName,size);            } else {                throw new IOException("文件名为空!");            }         String endPontUrl =  this.ossClient.getEndpoint().toString();         endPontUrl = endPontUrl.substring(7);         String url =  "http://"+this.bucketName+"."+endPontUrl+"/"+newFileName;         result = new FileUploadResult ("SUCCESS",url,originalFileName,originalFileName); //上传到阿里服务器,返回文件路径        }        catch (Exception e) {            System.out.println(e.getMessage());            result = new FileUploadResult ("文件上传失败","","","");        }        return result;    }
原创粉丝点击