在这里保存一下方便查找
js
function PlantDoUpload(fromId,imgId){// 所有表单 图片上传 console.log(fromId,imgId) var form = new FormData(document.getElementById(fromId)); $.ajax({ url: baseURL +"file/fileUpload", type:"POST", data:form, processData:false, contentType:false, success:function(data){ if(data.code == 200){ var url = data.url; var urls = data.urls; var de = url.substring(25,url.length-4); var img = "<span id='a"+de+"' style='position: relative;display: inline-block'><img style='width:80px;height:80px;float: left;' src='"+url+"'/>" + "<img src='../../statics/images/wen.jpg' οnclick='deleteImg("+JSON.stringify(data)+",\""+imgId+"\",\"a"+de+"\")' style='position: absolute;top: 0px;right: 0px;width: 15px;height: 15px;' />" + "</span>" $("#"+imgId).append(urls); $("#"+imgId+"s").append(img); }else{ layer.alert(data.msg); return; } }, error:function(e){ layer.alert("系统异常!"); } }); }
java controller代码
/* * 上传文件到OSS * 返回设置结果(json) * @Param JSONObject jsonObject */ @RequestMapping(value="/file/fileUpload",method= RequestMethod.POST) @ApiOperation(value="上传文件到OSS", notes="test") public String fileUpload(HttpServletRequest request, String dir) throws Exception { JSONObject json = new JSONObject(); MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); //定义允许上传的文件扩展名 HashMap<String, String> extMap = new HashMap<String, String>(); extMap.put("image", "gif,jpg,jpeg,png,bmp"); extMap.put("flash", "swf,flv"); extMap.put("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb,mp4"); extMap.put("file", "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2,pdf"); FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); upload.setHeaderEncoding("UTF-8"); //此处是直接采用Spring的上传 for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { MultipartFile mf = entity.getValue(); InputStream is = mf.getInputStream(); String name = mf.getOriginalFilename(); String suffix = name.substring(name.lastIndexOf(".") + 1); String fileName = UUID.randomUUID().toString().replaceAll("-", "")+"."+suffix; logger.info("调用OSS上传"); boolean b = OSSUtil.uploadFile(fileName, is); if(b) { json.put("code", 200); json.put("msg", "成功"); json.put("url", "http://www.baidu.com/"+fileName);//返回自己设置的服务器前缀http://www.baidu.com/ json.put("urls", "http://www.baidu.com/"+fileName+";"); logger.info("上传成功"); }else { json.put("code", 100); json.put("msg", "上传失败"); logger.info("上传失败"); } } return json.toString(); }
OSSutil.java
import com.aliyun.oss.ClientException; import com.aliyun.oss.OSSClient; import com.aliyun.oss.OSSException; import com.aliyun.oss.model.GetObjectRequest; import org.apache.log4j.Logger; import java.io.File; import java.io.InputStream; public class OSSUtil { static Logger logger = Logger.getLogger(OSSUtil.class); private static String endpoint = "http://www.baidu.com";//自己的服务器地址 // accessKeyId和accessKeySecret是OSS的访问密钥 private static String accessKeyId = "Lw4ferf4f4f4";//假的 private static String accessKeySecret = "dssv4f34f34f43f3";//假的 // Bucket用来管理所存储Object的存储空间 private static String bucketName = "ee-file"; /** * 上传文件 * @param filename 上传文件名 * @param input 上传文件流 * @return */ public static boolean uploadFile(String filename, InputStream input) { boolean success = false; OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret); try { if (ossClient.doesBucketExist(bucketName)) { logger.info("您已经创建Bucket:" + bucketName + "。"); } else { logger.info("您的Bucket不存在,创建Bucket:" + bucketName + "。"); ossClient.createBucket(bucketName); } ossClient.putObject(bucketName,filename,input); success = true; ossClient.shutdown(); } catch (OSSException oe) { oe.printStackTrace(); } catch (ClientException ce) { ce.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { ossClient.shutdown(); } return success; }
}
好了,就到这里了。