package com.melot.talkee.program.house.controller;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyuncs.DefaultAcsClient;
import com.melot.talkee.common.util.ResultObject;
import com.melot.talkee.common.util.status.TagCodeEnum;
import com.melot.talkee.program.house.exception.ErrorCodeEnum;
import org.bouncycastle.crypto.generators.OpenSSLPBEParametersGenerator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.web.MultipartAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
/**
-
Description :
-
@Author : 邱旦
-
@since : 2019/8/26
*/
@RestController
public class OSSController {private Logger logger = LoggerFactory.getLogger(OSSController.class);
@PostMapping("/public/upload")
public ResultObject uploadFileToOss(MultipartFile file) throws IOException {
logger.info("------------------上传文件----------------------------");
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = “http://oss-cn-hangzhou.aliyuncs.com”;
// 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建。
String accessKeyId = “LTAIxroFy2AsLJky”;
String accessKeySecret = “11jydr2seYLXpC6vn8cQNdyEwUeejn”;// 创建OSSClient实例。 OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); // 上传文件流。 String objectKey = "program/" + System.currentTimeMillis() + file.getOriginalFilename(); logger.info("--------------key-------------"); logger.info(objectKey); logger.info("------------------------------"); ossClient.putObject("kkworld", objectKey, file.getInputStream()); // 关闭OSSClient。 ossClient.shutdown(); ResultObject<String> result = new ResultObject<>(); ErrorCodeEnum.setCodeResult(result, TagCodeEnum.SUCCESS); result.setData(objectKey); logger.info("------------------上传文件结束----------------------------"); return result;
}
}