[服务器图片上传demo]
目录
前言:
Java 实现华为云服务器图片上传和下载的示例代码:
图片下载
Java 实现阿里云服务器图片上传和下载的示例代码:
图片下载
Java 实现腾讯云服务器图片上传和下载的示例代码:
图片下载
依赖:
前言:
记录一下小笔记
Java 实现华为云服务器图片上传和下载的示例代码:
public void uploadFile(String filePath, String objectName) {
// 构造华为云的身份认证信息
String ak = "你的Access Key ID";
String sk = "你的Secret Access Key";
String projectId = "你的项目ID";
String regionName = "cn-north-4";
BasicCredentials auth = new BasicCredentials(ak, sk, projectId, regionName);
// 构造OBS客户端实例
OBSClient obsClient = new OBSClient(auth);
// 构造上传请求
PutObjectRequest request = new PutObjectRequest();
request.setBucketName("你的Bucket名称");
request.setObjectKey(objectName); // 指定对象名称
request.setFile(new File(filePath)); // 指定上传文件的路径
// 执行上传操作
PutObjectResult result = obsClient.putObject(request);
System.out.println("上传成功!");
}
- 示例代码中,需要替换掉的参数包括:
Access Key ID
、Secret Access Key
、项目ID
、cn-north-4
、Bucket名称
、上传文件的路径
和指定对象名称
。其中,指定对象名称
是你在上传文件时指定的对象名称,需要确保它在当前 Bucket 中是唯一的。
图片下载
public void downloadFile(String objectName, String targetFilePath) {
// 构造华为云的身份认证信息
String ak = "你的Access Key ID";
String sk = "你的Secret Access Key";
String projectId = "你的项目ID";
String regionName = "cn-north-4";
BasicCredentials auth = new BasicCredentials(ak, sk, projectId, regionName);
// 构造OBS客户端实例
OBSClient obsClient = new OBSClient(auth);
// 构造下载请求
GetObjectRequest request = new GetObjectRequest();
request.setBucketName("你的Bucket名称");
request.setObjectKey(objectName); // 指定对象名称
// 执行下载操作
try (OBSObject obsObject = obsClient.getObject(request)) {
InputStream inputStream = obsObject.getObjectContent(); // 获取文件输入流
FileOutputStream outputStream = new FileOutputStream(targetFilePath); // 指定下载文件的路径
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
outputStream.close();
System.out.println("下载成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
- 示例代码中,需要替换掉的参数包括:
Access Key ID
、Secret Access Key
、项目ID
、cn-north-4
、Bucket名称
、指定对象名称
和下载文件的路径
。其中,指定对象名称
是你要下载的对象名称,下载文件的路径
是你要保存文件的本地路径。 - 注意,在执行完下载操作后,需要手动关闭文件输入流和文件输出流,避免内存泄漏
Java 实现阿里云服务器图片上传和下载的示例代码:
public void uploadFile(String filePath, String objectName) {
// 构造阿里云的身份认证信息
String accessKeyId = "你的Access Key ID";
String accessKeySecret = "你的Access Key Secret";
String endpoint = "你的OSS Endpoint";
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 构造上传请求
PutObjectRequest request = new PutObjectRequest("你的Bucket名称", objectName, new File(filePath));
// 执行上传操作
ossClient.putObject(request);
System.out.println("上传成功!");
// 关闭OSS客户端
ossClient.shutdown();
}
- 在这个示例代码中,需要替换掉的参数包括:
Access Key ID
、Access Key Secret
、OSS Endpoint
、Bucket名称
、上传文件的路径
和指定对象名称
。其中,指定对象名称
是你在上传文件时指定的对象名称,需要确保它在当前 Bucket 中是唯一的。
图片下载
public void downloadFile(String objectName, String targetFilePath) {
// 构造阿里云的身份认证信息
String accessKeyId = "你的Access Key ID";
String accessKeySecret = "你的Access Key Secret";
String endpoint = "你的OSS Endpoint";
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 构造下载请求
GetObjectRequest request = new GetObjectRequest("你的Bucket名称", objectName);
// 执行下载操作
try (OSSObject ossObject = ossClient.getObject(request)) {
InputStream inputStream = ossObject.getObjectContent(); // 获取文件输入流
FileOutputStream outputStream = new FileOutputStream(targetFilePath); // 指定下载文件的路径
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
outputStream.close();
System.out.println("下载成功!");
} catch (IOException e) {
e.printStackTrace();
}
// 关闭OSS客户端
ossClient.shutdown();
}
- 示例代码中,需要替换掉的参数包括:
Access Key ID
、Access Key Secret
、OSS Endpoint
、Bucket名称
、指定对象名称
和下载文件的路径
。其中,指定对象名称
是你要下载的对象名称,下载文件的路径
是你要保存文件的本地路径。 - 注意,在执行完下载操作后,需要手动关闭文件输入流和文件输出流,避免内存泄漏。
Java 实现腾讯云服务器图片上传和下载的示例代码:
public void uploadFile(String filePath, String objectName) {
// 构造腾讯云的身份认证信息
String secretId = "你的Secret ID";
String secretKey = "你的Secret Key";
String region = "ap-guangzhou";
COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
ClientConfig clientConfig = new ClientConfig(new Region(region));
COSClient cosClient = new COSClient(cred, clientConfig);
// 构造上传请求
File localFile = new File(filePath);
PutObjectRequest request = new PutObjectRequest("你的Bucket名称", objectName, localFile);
// 执行上传操作
cosClient.putObject(request);
System.out.println("上传成功!");
// 关闭COS客户端
cosClient.shutdown();
}
- 示例代码中,需要替换掉的参数包括:
Secret ID
、Secret Key
、ap-guangzhou
、Bucket名称
、上传文件的路径
和指定对象名称
。其中,指定对象名称
是你在上传文件时指定的对象名称,需要确保它在当前 Bucket 中是唯一的。
图片下载
public void downloadFile(String objectName, String targetFilePath) {
// 构造腾讯云的身份认证信息
String secretId = "你的Secret ID";
String secretKey = "你的Secret Key";
String region = "ap-guangzhou";
COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
ClientConfig clientConfig = new ClientConfig(new Region(region));
COSClient cosClient = new COSClient(cred, clientConfig);
// 构造下载请求
GetObjectRequest request = new GetObjectRequest("你的Bucket名称", objectName);
// 执行下载操作
COSObject cosObject = cosClient.getObject(request);
InputStream inputStream = cosObject.getObjectContent(); // 获取文件输入流
try (FileOutputStream outputStream = new FileOutputStream(targetFilePath)) { // 指定下载文件的路径
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
System.out.println("下载成功!");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// 关闭COS客户端
cosClient.shutdown();
}
- 示例代码中,需要替换掉的参数包括:
Secret ID
、Secret Key
、ap-guangzhou
、Bucket名称
、指定对象名称
和下载文件的路径
。其中,指定对象名称
是你要下载的对象名称,下载文件的路径
是你要保存文件的本地路径。 - 注意,在执行完下载操作后,需要手动关闭文件输入流和文件输出流,避免内存泄漏。
依赖:
阿里云 OSS 提供了 OSS SDK for Java,可以通过以下 Maven 依赖添加到项目中:
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
腾讯云 COS 提供了 COS SDK for Java,可以通过以下 Maven 依赖添加到项目中:
<dependency>
<groupId>com.qcloud</groupId>
<artifactId>cos_api</artifactId>
<version>5.6.5</version>
</dependency>
华为云 OBS 提供了 OBS SDK for Java,可以通过以下 Maven 依赖添加到项目中:
<dependency>
<groupId>com.obs</groupId>
<artifactId>obs</artifactId>
<version>3.20.3</version>
</dependency>
还没有评论,来说两句吧...