最近做项目的时候,实现了一个功能就是上传文件到阿里云oss上,
关于阿里云oss的相关操作,具体的可以看官方文档:官方文档
前端使用的https://pandao.github.io/editor.md/ 开源的markdown富文本编辑器。通过它将图片上传到后台。
springmvc后台处理使用的是MultipartHttpServletRequest,
首先将HttpServletRequest 转换为MultipartHttpServletRequest
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
MultipartFile file = multipartRequest.getFile("editormd-image-file");
下面是上传到oss的具体代码,file.getOriginalFilename() 是获取上传的文件原来的名字,
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-beijing.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
String accessKeyId = "LTAI4FmH24Sa7hPbZM";
String accessKeySecret = "ZlDL7WXRbIK3uVAt5qP";
String bucketName = "picture";
// <yourObjectName>上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
String objectName = System.currentTimeMillis() + file.getOriginalFilename();
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 上传内容到指定的存储空间(bucketName)并保存为指定的文件名称(objectName)。
try {
ossClient.putObject(bucketName, objectName, file.getInputStream());
} catch (IOException e) {
e.printStackTrace();
}
// 关闭OSSClient。
ossClient.shutdown();
关于MultipartFile:参考连接
springmvc上传文章的参考连接添加链接描述