package com.hollywood.manage.component;
|
|
|
import com.hollywood.common.basic.ApiResult;
|
import com.obs.services.ObsClient;
|
import com.obs.services.model.ObjectMetadata;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.util.UUID;
|
|
|
/**
|
* @author feiyunchuan
|
*/
|
@Slf4j
|
@Api(tags = "Ali-OSS文件上传接口")
|
@RestController
|
@RequestMapping("/ali-oss/")
|
public class AliOssFileUploadController {
|
|
@Value("${file.cdn:https://nncdn.pharmacylinked.com}")
|
private String FILE_CDN;
|
|
//OBS图片访问域名
|
public static String endPoint = "obs.cn-north-4.myhuaweicloud.com";
|
public static String accessKeyId = "SMMYY6PBKSOAO4WJ5DWM";
|
public static String accessKeySecret = "mHAFbQ78lIFgcIzjrHqSGioe9vVonEqgvZBWCAwX";
|
public static String bucketName = "duanshiping";
|
public static String oss_domain = "https://duanshiping.obs.cn-north-4.myhuaweicloud.com/";
|
public static ObsClient obsClient = new ObsClient(accessKeyId, accessKeySecret, endPoint);
|
|
@ApiOperation(value = "服务端上传", notes = "服务端上传")
|
@PostMapping(value = "upload")
|
public ApiResult<String> fileUpload(@RequestParam(value = "file") MultipartFile file) throws IOException {
|
String fileName = "";
|
if(file!=null && !"".equals(file.getOriginalFilename()) && file.getOriginalFilename()!=null){
|
InputStream content = file.getInputStream();//获得指定文件的输入流
|
ObjectMetadata meta = new ObjectMetadata();// 创建上传Object的Metadata
|
meta.setContentLength(file.getSize()); // 必须设置ContentLength
|
String originalFilename = file.getOriginalFilename();
|
fileName = UUID.randomUUID().toString().replaceAll("-","") + originalFilename.subSequence(originalFilename.lastIndexOf("."), originalFilename.length());
|
obsClient.putObject(bucketName,"admin/"+fileName,content,meta);// 上传Object.
|
if(!"".equals(fileName)){
|
System.out.println(fileName);
|
fileName = oss_domain+"admin/"+fileName;
|
}
|
}
|
return ApiResult.okmsg(fileName);
|
}
|
}
|