|  | @ -1,5 +1,8 @@
 | 
												
													
														
															|  | package com.yihu.jw.base.endpoint.common;
 |  | package com.yihu.jw.base.endpoint.common;
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | import com.alibaba.fastjson.JSON;
 | 
												
													
														
															|  | 
 |  | import com.alibaba.fastjson.JSONObject;
 | 
												
													
														
															|  | 
 |  | import com.fasterxml.jackson.databind.ObjectMapper;
 | 
												
													
														
															|  | import com.fasterxml.jackson.databind.node.ObjectNode;
 |  | import com.fasterxml.jackson.databind.node.ObjectNode;
 | 
												
													
														
															|  | import com.yihu.fastdfs.FastDFSUtil;
 |  | import com.yihu.fastdfs.FastDFSUtil;
 | 
												
													
														
															|  | import com.yihu.jw.base.util.ErrorCodeUtil;
 |  | import com.yihu.jw.base.util.ErrorCodeUtil;
 | 
												
											
												
													
														
															|  | @ -13,6 +16,8 @@ import io.swagger.annotations.Api;
 | 
												
													
														
															|  | import io.swagger.annotations.ApiOperation;
 |  | import io.swagger.annotations.ApiOperation;
 | 
												
													
														
															|  | import io.swagger.annotations.ApiParam;
 |  | import io.swagger.annotations.ApiParam;
 | 
												
													
														
															|  | import org.apache.commons.lang.StringUtils;
 |  | import org.apache.commons.lang.StringUtils;
 | 
												
													
														
															|  | 
 |  | import org.slf4j.Logger;
 | 
												
													
														
															|  | 
 |  | import org.slf4j.LoggerFactory;
 | 
												
													
														
															|  | import org.springframework.beans.factory.annotation.Autowired;
 |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
												
													
														
															|  | import org.springframework.beans.factory.annotation.Value;
 |  | import org.springframework.beans.factory.annotation.Value;
 | 
												
													
														
															|  | import org.springframework.web.bind.annotation.*;
 |  | import org.springframework.web.bind.annotation.*;
 | 
												
											
												
													
														
															|  | @ -22,6 +27,7 @@ import java.io.ByteArrayInputStream;
 | 
												
													
														
															|  | import java.io.InputStream;
 |  | import java.io.InputStream;
 | 
												
													
														
															|  | import java.net.URLDecoder;
 |  | import java.net.URLDecoder;
 | 
												
													
														
															|  | import java.util.Base64;
 |  | import java.util.Base64;
 | 
												
													
														
															|  | 
 |  | import java.util.Map;
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | /**
 |  | /**
 | 
												
													
														
															|  |  * 文件上传不在微服务中处理
 |  |  * 文件上传不在微服务中处理
 | 
												
											
												
													
														
															|  | @ -32,11 +38,22 @@ import java.util.Base64;
 | 
												
													
														
															|  | @Api(tags = "文件上传相关操作", description = "文件上传相关操作")
 |  | @Api(tags = "文件上传相关操作", description = "文件上传相关操作")
 | 
												
													
														
															|  | public class FileUploadController extends EnvelopRestEndpoint {
 |  | public class FileUploadController extends EnvelopRestEndpoint {
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |     private static final Logger logger = LoggerFactory.getLogger(EnvelopRestEndpoint.class);
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     @Value("${fastDFS.fastdfs_file_url}")
 |  |     @Value("${fastDFS.fastdfs_file_url}")
 | 
												
													
														
															|  |     private String fastdfs_file_url;
 |  |     private String fastdfs_file_url;
 | 
												
													
														
															|  |     @Autowired
 |  |     @Autowired
 | 
												
													
														
															|  |     FileUploadService fileUploadService;
 |  |     FileUploadService fileUploadService;
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |     @Value("${testPattern.sign}")
 | 
												
													
														
															|  | 
 |  |     private String isClose;
 | 
												
													
														
															|  | 
 |  |     @Value("${testPattern.remote_inner_url}")
 | 
												
													
														
															|  | 
 |  |     private String remote_inner_url;
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |     @Autowired
 | 
												
													
														
															|  | 
 |  |     private ObjectMapper objectMapper;
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM_IMG)
 |  |     @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM_IMG)
 | 
												
													
														
															|  |     @ApiOperation(value = "文件流上传图片", notes = "文件流上传图片")
 |  |     @ApiOperation(value = "文件流上传图片", notes = "文件流上传图片")
 | 
												
													
														
															|  |     public ObjEnvelop<UploadVO> uploadImg(@ApiParam(value = "文件", required = true)
 |  |     public ObjEnvelop<UploadVO> uploadImg(@ApiParam(value = "文件", required = true)
 | 
												
											
												
													
														
															|  | @ -59,17 +76,17 @@ public class FileUploadController extends EnvelopRestEndpoint {
 | 
												
													
														
															|  |         return success("上传成功", uploadVO);
 |  |         return success("上传成功", uploadVO);
 | 
												
													
														
															|  |     }
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM)
 |  | 
 | 
												
													
														
															|  |     @ApiOperation(value = "文件流上传文件", notes = "文件流上传文件")
 |  | 
 | 
												
													
														
															|  |     public ObjEnvelop<UploadVO> uploadStream(@ApiParam(value = "文件", required = true)
 |  | 
 | 
												
													
														
															|  |                                                  @RequestParam(value = "file", required = true) MultipartFile file) throws Exception{
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |         // 得到文件的完整名称  xxx.txt
 |  | 
 | 
												
													
														
															|  |         String originalFilename = file.getOriginalFilename();
 |  | 
 | 
												
													
														
															|  |         InputStream inputStream = file.getInputStream();
 |  | 
 | 
												
													
														
															|  |         UploadVO uploadVO = fileUploadService.uploadStream(inputStream,originalFilename,fastdfs_file_url);
 |  | 
 | 
												
													
														
															|  |         return success("上传成功", uploadVO);
 |  | 
 | 
												
													
														
															|  |     }
 |  | 
 | 
												
													
														
															|  | 
 |  | //    @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM)
 | 
												
													
														
															|  | 
 |  | //    @ApiOperation(value = "文件流上传文件", notes = "文件流上传文件")
 | 
												
													
														
															|  | 
 |  | //    public ObjEnvelop<UploadVO> uploadStream(@ApiParam(value = "文件", required = true)
 | 
												
													
														
															|  | 
 |  | //                                                 @RequestParam(value = "file", required = true) MultipartFile file) throws Exception{
 | 
												
													
														
															|  | 
 |  | //
 | 
												
													
														
															|  | 
 |  | //        // 得到文件的完整名称  xxx.txt
 | 
												
													
														
															|  | 
 |  | //        String originalFilename = file.getOriginalFilename();
 | 
												
													
														
															|  | 
 |  | //        InputStream inputStream = file.getInputStream();
 | 
												
													
														
															|  | 
 |  | //        UploadVO uploadVO = fileUploadService.uploadStream(inputStream,originalFilename,fastdfs_file_url);
 | 
												
													
														
															|  | 
 |  | //        return success("上传成功", uploadVO);
 | 
												
													
														
															|  | 
 |  | //    }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STRING)
 |  |     @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STRING)
 | 
												
													
														
															|  |     @ApiOperation(value = "base64上传图片",notes = "base64上传图片")
 |  |     @ApiOperation(value = "base64上传图片",notes = "base64上传图片")
 | 
												
											
												
													
														
															|  | @ -79,4 +96,28 @@ public class FileUploadController extends EnvelopRestEndpoint {
 | 
												
													
														
															|  |         return success("上传成功", uploadVO);
 |  |         return success("上传成功", uploadVO);
 | 
												
													
														
															|  |     }
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |     @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM)
 | 
												
													
														
															|  | 
 |  |     @ApiOperation(value = "文件流上传文件", notes = "文件流上传文件")
 | 
												
													
														
															|  | 
 |  |     public ObjEnvelop<UploadVO> uploadStream(@ApiParam(value = "文件", required = true)
 | 
												
													
														
															|  | 
 |  |                                              @RequestParam(value = "file", required = true) MultipartFile file) throws Exception{
 | 
												
													
														
															|  | 
 |  |         UploadVO uploadVO = new UploadVO();
 | 
												
													
														
															|  | 
 |  |         if (isClose.equalsIgnoreCase("1")){
 | 
												
													
														
															|  | 
 |  |             Map<String, Object> map = fileUploadService.uploadImg(file);
 | 
												
													
														
															|  | 
 |  |             uploadVO.setFullUri(map.get("accessory").toString());
 | 
												
													
														
															|  | 
 |  |         }else if(isClose.equals("2")){
 | 
												
													
														
															|  | 
 |  |             //内网上传
 | 
												
													
														
															|  | 
 |  |             String rs = fileUploadService.request(remote_inner_url,file,null);
 | 
												
													
														
															|  | 
 |  |             logger.info(rs);
 | 
												
													
														
															|  | 
 |  |             JSONObject json = JSON.parseObject(rs);
 | 
												
													
														
															|  | 
 |  |             uploadVO = objectMapper.readValue(json.getJSONObject("obj").toJSONString(),UploadVO.class);
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |         }else {
 | 
												
													
														
															|  | 
 |  |             // 得到文件的完整名称  xxx.txt
 | 
												
													
														
															|  | 
 |  |             String originalFilename = file.getOriginalFilename();
 | 
												
													
														
															|  | 
 |  |             InputStream inputStream = file.getInputStream();
 | 
												
													
														
															|  | 
 |  |             uploadVO = fileUploadService.uploadStream(inputStream,originalFilename,fastdfs_file_url);
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |         return success("上传成功", uploadVO);
 | 
												
													
														
															|  | 
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | }
 |  | }
 |