1.購買服務
2.創建桶:自己設置,加密方式也自己設置
3.將桶的3個基本參數記住,后台開發要用
4.在我的憑證里面設置訪問密鑰,會導出csv文件,將里面的key和keyid拿出來
5.后台開發
5.0 主要依賴
<dependency> <groupId>com.huaweicloud</groupId> <artifactId>esdk-obs-java</artifactId> <version>3.19.7</version> </dependency>
5.1 將之前提到的5個參數放在yml里面
5.2 service層
@Service public class UploadService { @Value("${huawei.accessKeyId}") private String accessKeyId;// 華為雲的 Access Key Id @Value("${huawei.accessKey}") private String accessKeySecret;// 華為雲的 Access Key Secret @Value("${huawei.endpoint}") private String endpoint; // 華為雲連接的地址節點 @Value("${huawei.obsBucketName}") private String obsBucketName; // 創建的桶的名稱 @Value("${huawei.url}") private String url; // 訪問OBS文件的url private ObsClient obsClient=null; /** * @Description: 文件上傳 * @Param: [bucketName, fileName, localFile] * @return: com.obs.services.model.PutObjectResult * @Author: hyy * @Date: 2021/6/25 */ public String putLocalFile() { String path="D:\\other\\demo.jpg"; File file=new File(path); UUID uuid=UUID.randomUUID(); String originalFileName = uuid.toString().replace("-","")+"_demo.jpg"; FileInputStream fis=null; ObsClient obsClient =null; PutObjectResult putObjectResult = null; String requestId=null; try { fis = new FileInputStream(file); obsClient = getObsClient(this.obsClient); putObjectResult = obsClient.putObject(obsBucketName, originalFileName, fis); requestId = putObjectResult.getRequestId(); }catch (Exception e){ e.printStackTrace(); }finally { try { obsClient.close(); } catch (IOException e) { e.printStackTrace(); } } return requestId; } public ObsClient getObsClient(ObsClient obsClient) { if(obsClient == null) { obsClient = new ObsClient(accessKeyId, accessKeySecret, endpoint); } return obsClient; } }
5.3 controller層
@RestController public class UpLoadFile { @Autowired private UploadService uploadService; @RequestMapping("/upload") public String load(){ return uploadService.putLocalFile(); } }
6.在雲服務器看結果,完美儲存