最近做項目的時候,實現了一個功能就是上傳文件到阿里雲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上傳文章的參考連接添加鏈接描述