puzhibing
2022-08-22 1421f8e9c308c4741cb396309035009393b5b036
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
package com.stylefeng.guns.modular.system.controller.util;
 
import com.stylefeng.guns.config.properties.GunsProperties;
import com.stylefeng.guns.core.base.controller.BaseController;
import com.stylefeng.guns.core.common.exception.BizExceptionEnum;
import com.stylefeng.guns.core.exception.GunsException;
import com.stylefeng.guns.core.util.ObsUploadUtil;
import com.stylefeng.guns.modular.system.util.OssUploadUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
 
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
 
/**
 * 上传文件
 */
@RestController
@RequestMapping("/upload")
public class UploadUtil extends BaseController {
    private final static Logger log = LoggerFactory.getLogger(UploadUtil.class);
 
    @Autowired
    private GunsProperties gunsProperties;
 
    /**
     * 上传图片(上传到项目的webapp/static/img)
     */
   /* @RequestMapping("/image")
    public String image(@RequestPart("file") MultipartFile picture) {
        String pictureName = UUID.randomUUID().toString() + ".jpg";
        try {
            // 文件目录路径
            String fileSavePath = gunsProperties.getFileUploadPath();
            picture.transferTo(new File(fileSavePath + pictureName));
        } catch (Exception e) {
            log.error(e.getMessage(), e);
            throw new GunsException(BizExceptionEnum.UPLOAD_ERROR);
        }
        return pictureName;
    }*/
 
    /**
     * 多图片上传使用
     * @param request
     * @return
     */
    @RequestMapping( "/uploadPhoto")
    @ResponseBody
    public Map<String, Object> saveimg(HttpServletRequest request) {
        Map<String, Object> m = new HashMap<>();
        try {
 
            String ossUpload = null;
            MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
            MultipartFile file = (MultipartFile) multipartRequest.getFile("myfile");
            if (file.getSize() != 0) {
                ossUpload = OssUploadUtil.ossUpload(request, file);
//                ossUpload = ObsUploadUtil.obsUpload(super.getHttpServletRequest(), file);
                m.put("imgUrl", ossUpload);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return m;
    }
 
    @RequestMapping("/image")
    @ResponseBody
    public String image(@RequestPart("file") MultipartFile picture, HttpServletRequest request) {
        try {
            MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
            MultipartFile file = (MultipartFile) picture;
 
            String pictureName = OssUploadUtil.ossUpload(request, file);
//            String pictureName = ObsUploadUtil.obsUpload(super.getHttpServletRequest(), picture);
            return pictureName;
        } catch (IOException e1) {
            return null;
        }
    }
 
    /**
     * 上传文件
     */
    @RequestMapping("/file")
    public String file(@RequestPart("file") MultipartFile picture) {
        //获取文件名后缀
        String suffix = picture.getOriginalFilename().substring(picture.getOriginalFilename().lastIndexOf("."));
        String pictureName = UUID.randomUUID().toString() + suffix;
        try {
            // 文件目录路径
            String fileSavePath = gunsProperties.getFileUploadPath();
            File file = new File(fileSavePath + pictureName);
            picture.transferTo(file);
        } catch (Exception e) {
            log.error(e.getMessage(), e);
            throw new GunsException(BizExceptionEnum.UPLOAD_ERROR);
        }
        return pictureName;
    }
 
    /**
     * UEditor编辑器上传图片
     */
    @RequestMapping("/imageUp")
    public String imageUp(@RequestPart("upfile") MultipartFile picture, HttpServletRequest request) {
        String callback = request.getParameter("callback");
        String pictureName = UUID.randomUUID().toString() + ".jpg";
        try {
            // 上传文件目录
            //String fileSavePath = gunsProperties.getFileUploadPath();
            //picture.transferTo(new File(fileSavePath + pictureName));
            // 文件全路径
            //pictureName = gunsProperties.getPictureServerAddress() + pictureName;
//           pictureName = ObsUploadUtil.obsUpload(super.getHttpServletRequest(), picture);
            pictureName = OssUploadUtil.ossUpload(super.getHttpServletRequest(), picture);
 
            String result = "{'original': '" + picture.getOriginalFilename() + "', 'state': 'SUCCESS', 'url': '" + pictureName + "'}";
            if (callback == null) {
                return result;
            } else {
                return "<script>" + callback + "(" + result + ")</script>";
            }
        } catch (Exception e) {
            log.error(e.getMessage(), e);
            String result = "{'original': '', 'state': '文件上传失败','url': ''}";
            if (callback == null) {
                return result;
            } else {
                return "<script>" + callback + "(" + result + ")</script>";
            }
        }
    }
 
}