48 lines
2.0 KiB
Java
48 lines
2.0 KiB
Java
package com.cf.file.api.controller;
|
|
|
|
import com.cf.file.api.swagger.FileSwagger;
|
|
import com.cf.file.service.FileSystemService;
|
|
import com.cf.framework.domain.file.response.FileSystemCode;
|
|
import com.cf.framework.domain.response.ResponseResult;
|
|
import com.cf.framework.exception.ExceptionCast;
|
|
import org.apache.dubbo.config.annotation.Reference;
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
import java.io.IOException;
|
|
|
|
@RestController
|
|
@RequestMapping("file/")
|
|
@Validated
|
|
public class FileController implements FileSwagger {
|
|
@Reference(version = "1.0.0", retries = 0, timeout = 10000)
|
|
private FileSystemService fileSystemService;
|
|
|
|
@Override
|
|
@RequestMapping(value = "upload", method = RequestMethod.POST, headers = "content-type=multipart/form-data;charset=utf-8")
|
|
public ResponseResult upload(
|
|
@RequestParam(value = "file", required = true)
|
|
MultipartFile file,
|
|
@RequestParam(value = "filetag", required = false, defaultValue = "")
|
|
String filetag,
|
|
@RequestParam(value = "businesskey", required = true)
|
|
String businesskey,
|
|
@RequestParam(value = "metadata", required = false, defaultValue = "")
|
|
String metadata) {
|
|
|
|
try {
|
|
byte[] fileByte = file.getBytes();
|
|
return fileSystemService.upload(fileByte, file.getOriginalFilename(), file.getContentType(), filetag, businesskey, metadata);
|
|
} catch (IOException e) {
|
|
FileSystemCode fsDeletefileDbfail = FileSystemCode.FS_DELETEFILE_DBFAIL;
|
|
fsDeletefileDbfail.setMessage(e.getMessage());
|
|
ExceptionCast.cast(fsDeletefileDbfail);
|
|
return null;
|
|
}
|
|
}
|
|
}
|