阿里云oss文件上传java返回路径
时间: 2024-12-31 19:39:37 浏览: 16
### 使用Java上传文件至阿里云OSS并获取返回的文件访问路径
为了实现这一目标,除了完成基本的文件上传操作外,还需要构建文件的公共访问URL。下面是一个完整的代码示例来展示如何做到这一点:
```java
import com.aliyun.oss.OSS;
import com.aliyun.oss.OssClientBuilder;
public class FileUploadExample {
private static final String ENDPOINT = "your-endpoint";
private static final String ACCESS_KEY_ID = "your-access-key-id";
private static final String ACCESS_KEY_SECRET = "your-access-key-secret";
private static final String BUCKET_NAME = "your-bucket-name";
public static void main(String[] args) throws Exception {
try (OSS ossClient = new OssClientBuilder().build(ENDPOINT, ACCESS_KEY_ID, ACCESS_KEY_SECRET)) {
java.io.File file = new java.io.File("path/to/your/file");
// 构建唯一文件名
String uniqueFileName = java.util.UUID.randomUUID().toString() + "_" + file.getName();
// 设置存储目录和文件名称组合成最终的目标键值
String targetKey = "uploads/" + uniqueFileName;
// 执行上传动作
ossClient.putObject(BUCKET_NAME, targetKey, file);
// 创建文件的公共访问链接
String url = ossClient.generatePresignedUrl(
BUCKET_NAME,
targetKey,
new java.util.Date(System.currentTimeMillis() + 3600L * 1000 * 24 * 365), // 设置有效期为一年
com.aliyun.oss.model.HttpMethod.GET).toExternalForm();
System.out.println("File uploaded successfully.");
System.out.println("Access URL: " + url);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
```
此段代码实现了文件向阿里云OSS的传输过程,并利用`generatePresignedUrl()`方法生成了一个预签名的URL用于后续访问已上传文件[^3]。
阅读全文