springmvc上传文件到阿里云oss

最近做项目的时候,实现了一个功能就是上传文件到阿里云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";
        // 上传文件到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上传文章的参考连接添加链接描述

你可能感兴趣的:(springmvc,oss,multipartFile,springmvc)