AssetsController.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package com.izouma.awesomeadmin.web;
  2. import com.izouma.awesomeadmin.dto.Result;
  3. import com.izouma.awesomeadmin.service.OSSFileService;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Controller;
  6. import org.springframework.web.bind.annotation.RequestMapping;
  7. import org.springframework.web.bind.annotation.RequestMethod;
  8. import org.springframework.web.bind.annotation.RequestParam;
  9. import org.springframework.web.bind.annotation.ResponseBody;
  10. import org.springframework.web.multipart.MultipartFile;
  11. import org.springframework.web.multipart.MultipartHttpServletRequest;
  12. import org.springframework.web.multipart.commons.CommonsMultipartResolver;
  13. import javax.servlet.http.HttpServletRequest;
  14. import java.io.IOException;
  15. import java.io.UnsupportedEncodingException;
  16. import java.util.Iterator;
  17. /**
  18. * Created by xiongzhu on 2017/3/8.
  19. */
  20. @Controller
  21. @RequestMapping("/assets")
  22. public class AssetsController extends BaseController{
  23. @Autowired
  24. private OSSFileService OSSFileService;
  25. @RequestMapping(value = "/uploadImg", method = RequestMethod.POST)
  26. @ResponseBody
  27. public Result uploadImg(@RequestParam(value = "base64", required = true) String base64) {
  28. try {
  29. String path = OSSFileService.uploadImg(base64);
  30. return new Result(true, path);
  31. } catch (UnsupportedEncodingException e) {
  32. e.printStackTrace();
  33. }
  34. return new Result(false, "上传失败");
  35. }
  36. @RequestMapping(value = "/uploadFile")
  37. @ResponseBody
  38. public Result uploadFile(HttpServletRequest request) {
  39. long startTime = System.currentTimeMillis();
  40. //将当前上下文初始化给 CommonsMutipartResolver (多部分解析器)
  41. CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
  42. //检查form中是否有enctype="multipart/form-data"
  43. if (multipartResolver.isMultipart(request)) {
  44. //将request变成多部分request
  45. MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
  46. //获取multiRequest 中所有的文件名
  47. Iterator iter = multiRequest.getFileNames();
  48. String paths = "";
  49. while (iter.hasNext()) {
  50. //一次遍历所有文件
  51. MultipartFile file = multiRequest.getFile(iter.next().toString());
  52. if (file != null) {
  53. try {
  54. String path = OSSFileService.upload(file.getInputStream(), "izouma/application/" + System.currentTimeMillis()
  55. + file.getOriginalFilename().replaceAll(".+\\.", "."));
  56. paths += path + ";";
  57. } catch (IOException e) {
  58. e.printStackTrace();
  59. return new Result(false, "上传失败");
  60. }
  61. }
  62. }
  63. return new Result(true, paths.split(";"));
  64. }
  65. return new Result(false, "上传失败");
  66. }
  67. }