/**
* 上传图片到OSS并返回路径
*/
@RequestMapping(value = "/ossUpload",method = RequestMethod.POST, produces = MediaType.TEXT_HTML_VALUE)
public PicUploadResult uploadPic(@RequestParam("uploadFile") MultipartFile uploadFile,String path) throws Exception {
String filename = uploadFile.getOriginalFilename();
InputStream inputStream = uploadFile.getInputStream();
String url = AliyunOssTool.upload(filename,inputStream);
PicUploadResult result = new PicUploadResult();
result.setUrl(url);
System.out.println(url);
return result;
}
//工具类
import java.io.File;
import java.io.InputStream;
import com.aliyun.oss.OSSClient;
public class AliyunOssTool {
//阿里云API的内或外网域名
private static String ENDPOINT;
//阿里云API的密钥Access Key ID
private static String ACCESS_KEY_ID;
//阿里云API的密钥Access Key Secret
private static String ACCESS_KEY_SECRET;
//阿里云API的bucket名称
private static String BACKET_NAME;
//返回ossshangde文件的url
public static String RESULT_URL = "url";
//初始化属性
static{
ENDPOINT = "";
ACCESS_KEY_ID = "";
ACCESS_KEY_SECRET = "";
BACKET_NAME = "";
}
public static String upload(String fileName,InputStream inputStream) {
// 创建OSSClient实例。
OSSClient ossClient = new OSSClient(ENDPOINT, ACCESS_KEY_ID, ACCESS_KEY_SECRET);
// 上传文件。<yourLocalFile>由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt。
ossClient.putObject(BACKET_NAME, fileName, inputStream);
//拼接要返回的url
//http://jckjimages.oss-cn-hangzhou.aliyuncs.com/201808061234120373.png
RESULT_URL = "http://"+BACKET_NAME+".oss-cn-hangzhou.aliyuncs.com/"+ fileName;
// 关闭OSSClient。
ossClient.shutdown();
return RESULT_URL;
}
public static void main(String[] args) {
//System.out.println(upload("新建文本文档.txt"));
}
}