1. 添加jar包
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>2.8.3</version>
</dependency>
2. 代码实现
@RequestMapping(value="addImg",method=RequestMethod.POST)//
public String addForums( @RequestParam MultipartFile myfile,HttpServletRequest request,HttpSession session){
// endpoint以杭州为例,其它region请按实际情况填写。
String endpoint = "https://oss-cn-shanghai.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
String accessKeyId = "xxxxxxxxxxx";
String accessKeySecret ="xxxxxxxxxxxxxxxxxxxx";
// 创建OSSClient实例。
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
// 上传文件流。
InputStream inputStream=null;
try {
if (!myfile.isEmpty()) {
inputStream = myfile.getInputStream();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ossClient.putObject("hlww", "hlww/news/news_img/111.jpeg", inputStream);
// 关闭ossClient。
ossClient.shutdown();
//-------end-------
return "xxx/xxx/xx";
}
3. 可能出现问题
3.1 jar包兼容性问题,高低版本的jar包,将低版本删除。
3.2 前端的上传accessKeyId, accessKeySecret 是不固定的,要访问后台接口获取;后台是固定的,在阿里云上添加。