|
@ -10,7 +10,7 @@ import com.yihu.jw.service.FileUploadService;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import io.swagger.annotations.ApiParam;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
@ -42,175 +42,6 @@ public class FileUploadController {
|
|
|
@Autowired
|
|
|
protected HttpServletRequest request;
|
|
|
|
|
|
/*@PostMapping(value = IotRequestMapping.FileUpload.api_upload_stream_img)
|
|
|
@ApiOperation(value = "文件流上传图片", notes = "文件流上传图片")
|
|
|
public MixEnvelop<UploadVO, UploadVO> uploadImg(@ApiParam(value = "文件", required = true)
|
|
|
@RequestParam(value = "file", required = true) MultipartFile file){
|
|
|
try {
|
|
|
// 得到文件的完整名称 xxx.txt
|
|
|
String fullName = file.getOriginalFilename();
|
|
|
if(StringUtils.isBlank(fullName)){
|
|
|
return MixEnvelop.getError(IotRequestMapping.FileUpload.message_fail_upload_format,IotRequestMapping.api_iot_fail);
|
|
|
}
|
|
|
//得到文件类型
|
|
|
String fileType = fullName.substring(fullName.lastIndexOf(".") + 1).toLowerCase();
|
|
|
if(StringUtils.isBlank(fileType)||!"jpg,jpeg,png".contains(fileType)){
|
|
|
return MixEnvelop.getError(IotRequestMapping.FileUpload.message_fail_upload_format,IotRequestMapping.api_iot_fail);
|
|
|
}
|
|
|
|
|
|
long size = file.getSize();
|
|
|
long max = 5*1024*1024;
|
|
|
if(size>max){
|
|
|
return MixEnvelop.getError("文件大小不超过5M",IotRequestMapping.api_iot_fail);
|
|
|
}
|
|
|
|
|
|
String fileName = fullName.substring(0, fullName.lastIndexOf("."));
|
|
|
//上传到fastdfs
|
|
|
ObjectNode objectNode = null;
|
|
|
//解析返回的objectNode
|
|
|
UploadVO uploadVO = null;
|
|
|
if(isneiwang){
|
|
|
objectNode = fastDFSHelper.upload(file.getInputStream(), fileType, "");
|
|
|
uploadVO = new UploadVO();
|
|
|
uploadVO.setFileName(fileName);
|
|
|
uploadVO.setFileType(fileType);
|
|
|
uploadVO.setFullUri(objectNode.get("fileId").toString().replaceAll("\"", ""));
|
|
|
uploadVO.setFullUrl(fastdfs_file_url + objectNode.get("fileId").toString().replaceAll("\"", ""));
|
|
|
}else {
|
|
|
uploadVO = fileUploadService.request(request,file.getInputStream(),fullName);
|
|
|
if(uploadVO==null){
|
|
|
return MixEnvelop.getError("文件上传失败",IotRequestMapping.api_iot_fail);
|
|
|
}
|
|
|
}
|
|
|
return MixEnvelop.getSuccess(IotRequestMapping.Common.message_success_create, uploadVO);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return MixEnvelop.getError(IotRequestMapping.FileUpload.message_fail_upload, IotRequestMapping.api_iot_fail);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
@PostMapping(value = IotRequestMapping.FileUpload.api_upload_stream_attachment)
|
|
|
@ApiOperation(value = "文件流上传附件", notes = "文件流上传附件")
|
|
|
public MixEnvelop<UploadVO, UploadVO> uploadAttachment(@ApiParam(value = "文件", required = true)
|
|
|
@RequestParam(value = "file", required = true) MultipartFile file){
|
|
|
try {
|
|
|
// 得到文件的完整名称 xxx.txt
|
|
|
String fullName = file.getOriginalFilename();
|
|
|
if(StringUtils.isBlank(fullName)){
|
|
|
return MixEnvelop.getError(IotRequestMapping.FileUpload.message_fail_upload_format,IotRequestMapping.api_iot_fail);
|
|
|
}
|
|
|
//得到文件类型
|
|
|
String fileType = fullName.substring(fullName.lastIndexOf(".") + 1).toLowerCase();
|
|
|
if(StringUtils.isBlank(fileType)||!"doc、docx、pdf、xls、xlsx、jpg、jpeg、png".contains(fileType)){
|
|
|
return MixEnvelop.getError(IotRequestMapping.FileUpload.message_fail_upload_format,IotRequestMapping.api_iot_fail);
|
|
|
}
|
|
|
|
|
|
long size = file.getSize();
|
|
|
long max = 5*1024*1024;
|
|
|
if(size>max){
|
|
|
return MixEnvelop.getError("文件大小不超过5M",IotRequestMapping.api_iot_fail);
|
|
|
}
|
|
|
|
|
|
String fileName = fullName.substring(0, fullName.lastIndexOf("."));
|
|
|
//上传到fastdfs
|
|
|
ObjectNode objectNode = null;
|
|
|
//解析返回的objectNode
|
|
|
UploadVO uploadVO = null;
|
|
|
if(isneiwang){
|
|
|
objectNode = fastDFSHelper.upload(file.getInputStream(), fileType, "");
|
|
|
uploadVO = new UploadVO();
|
|
|
uploadVO.setFileName(fileName);
|
|
|
uploadVO.setFileType(fileType);
|
|
|
uploadVO.setFullUri(objectNode.get("fileId").toString().replaceAll("\"", ""));
|
|
|
uploadVO.setFullUrl(fastdfs_file_url + objectNode.get("fileId").toString().replaceAll("\"", ""));
|
|
|
}else {
|
|
|
uploadVO = fileUploadService.request(request,file.getInputStream(),fullName);
|
|
|
if(uploadVO==null){
|
|
|
return MixEnvelop.getError("文件上传失败",IotRequestMapping.api_iot_fail);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return MixEnvelop.getSuccess(IotRequestMapping.Common.message_success_create, uploadVO);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return MixEnvelop.getError(IotRequestMapping.FileUpload.message_fail_upload, IotRequestMapping.api_iot_fail);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@PostMapping(value = IotRequestMapping.FileUpload.api_upload_stream)
|
|
|
@ApiOperation(value = "文件流上传文件", notes = "文件流上传文件")
|
|
|
public MixEnvelop<UploadVO, UploadVO> uploadStream(@ApiParam(value = "文件", required = true) @RequestParam(value = "file", required = true) MultipartFile file) {
|
|
|
try {
|
|
|
// 得到文件的完整名称 xxx.txt
|
|
|
String fullName = file.getOriginalFilename();
|
|
|
//得到文件类型
|
|
|
String fileType = fullName.substring(fullName.lastIndexOf(".") + 1).toLowerCase();
|
|
|
String fileName = fullName.substring(0, fullName.lastIndexOf("."));
|
|
|
//上传到fastdfs
|
|
|
ObjectNode objectNode = null;
|
|
|
//解析返回的objectNode
|
|
|
UploadVO uploadVO = null;
|
|
|
if(isneiwang){
|
|
|
objectNode = fastDFSHelper.upload(file.getInputStream(), fileType, "");
|
|
|
uploadVO = new UploadVO();
|
|
|
uploadVO.setFileName(fileName);
|
|
|
uploadVO.setFileType(fileType);
|
|
|
uploadVO.setFullUri(objectNode.get("fileId").toString().replaceAll("\"", ""));
|
|
|
uploadVO.setFullUrl(fastdfs_file_url + objectNode.get("fileId").toString().replaceAll("\"", ""));
|
|
|
}else {
|
|
|
uploadVO = fileUploadService.request(request,file.getInputStream(),fullName);
|
|
|
if(uploadVO==null){
|
|
|
return MixEnvelop.getError("文件上传失败",IotRequestMapping.api_iot_fail);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return MixEnvelop.getSuccess(IotRequestMapping.Common.message_success_create, uploadVO);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return MixEnvelop.getError(IotRequestMapping.FileUpload.message_fail_upload, IotRequestMapping.api_iot_fail);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@PostMapping(value = IotRequestMapping.FileUpload.api_upload_string)
|
|
|
@ApiOperation(value = "base64上传图片",notes = "base64上传图片")
|
|
|
public MixEnvelop<UploadVO, UploadVO> uploadImages(@ApiParam(name = "jsonData", value = "头像转化后的输入流") @RequestBody String jsonData) throws Exception {
|
|
|
try {
|
|
|
|
|
|
String date = URLDecoder.decode(jsonData,"UTF-8");
|
|
|
String[] fileStreams = date.split(",");
|
|
|
String is = URLDecoder.decode(fileStreams[1],"UTF-8").replace(" ","+");
|
|
|
byte[] in = Base64.getDecoder().decode(is);
|
|
|
|
|
|
InputStream inputStream = new ByteArrayInputStream(in);
|
|
|
ObjectNode objectNode = null;
|
|
|
//上传到fastdfs
|
|
|
String fileType = "png";
|
|
|
//解析返回的objectNode
|
|
|
UploadVO uploadVO = null;
|
|
|
if(isneiwang){
|
|
|
objectNode = fastDFSHelper.upload(inputStream, fileType, "");
|
|
|
String groupName = objectNode.get("groupName").toString();
|
|
|
String remoteFileName = objectNode.get("remoteFileName").toString();
|
|
|
uploadVO = new UploadVO();
|
|
|
uploadVO.setFileName(remoteFileName);
|
|
|
uploadVO.setFileType(groupName);
|
|
|
uploadVO.setFullUri(objectNode.get("fileId").toString().replaceAll("\"", ""));
|
|
|
uploadVO.setFullUrl(fastdfs_file_url + objectNode.get("fileId").toString().replaceAll("\"", ""));
|
|
|
}else {
|
|
|
uploadVO = fileUploadService.request(request,inputStream,"");
|
|
|
if(uploadVO ==null){
|
|
|
return MixEnvelop.getError("文件上传失败",IotRequestMapping.api_iot_fail);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//返回文件路径
|
|
|
return MixEnvelop.getSuccess(IotRequestMapping.FileUpload.message_success_upload, uploadVO);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return MixEnvelop.getError(IotRequestMapping.FileUpload.message_fail_upload, IotRequestMapping.api_iot_fail);
|
|
|
}
|
|
|
}*/
|
|
|
|
|
|
@RequestMapping(value = "commonUpload", method = RequestMethod.POST)
|
|
|
@ResponseBody
|