1,引入依赖
<dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId> </dependency> <!--AliSms--> <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId> </dependency>
2,代码
/*** 获取阿里云OSS预签名URL下载** @param ossPath oss存放路径*/public String getOssPreSignatureUrl(String ossPath) {OSS ossClient = null;try {CredentialsProvider credentialsProvider = new DefaultCredentialProvider(access_key, secret_key);ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);ossClient = OSSClientBuilder.create().endpoint(endpoint).credentialsProvider(credentialsProvider).clientConfiguration(clientBuilderConfiguration).region(region).build();// 设置预签名URL过期时间,单位为毫秒。本示例以设置过期时间为1小时为例。Date expiration = new Date(new Date().getTime() + 3600 * 1000L);// 生成以GET方法访问的预签名URL。本示例没有额外请求头,其他人可以直接通过浏览器访问相关内容。return ossClient.generatePresignedUrl(bucket, ossPath, expiration).toString();} catch (Exception e) {log.error("阿里云OSS实例获取失败: {}", e.getMessage());throw new ServiceException("阿里云OSS预签名URL获取失败!");} finally {if (ossClient != null) {ossClient.shutdown();}}}