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";
        // <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上傳文章的參考連接添加鏈接描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章