我想用表单上传 一个对象到华为桶,他们给的是一个字节流上传吧? 这个tobyte怎么赋值呢?谢谢
还有下面这个prfix怎么赋值呢?这是一个拼接对象名的。
前端就是一个input标签上传文件和名字等
它这个是要读取本地文件,上传 到华为云服务器的
我想用表单上传 一个对象到华为桶,他们给的是一个字节流上传吧? 这个tobyte怎么赋值呢?谢谢
还有下面这个prfix怎么赋值呢?这是一个拼接对象名的。
前端就是一个input标签上传文件和名字等
它这个是要读取本地文件,上传 到华为云服务器的
private static String endPoint = "obs.cn-east-2.myhuaweicloud.com";
private static String ak = "FSJCCCERT3S5H2";
private static String sk = "7XCtFL7A6ssd344r3oHDtPXtXCvgoHxLiM4lD";
private static String bucketname="ert-fge-daily-public";
private static ObsClient obsClient = new ObsClient(ak, sk, endPoint);
public static String uploadToObs( InputStream inputStream,String objectname) throws IOException {
PutObjectRequest request = new PutObjectRequest(bucketname, objectname,inputStream);
request.setProgressListener(new ProgressListener() {
@Override
public void progressChanged(ProgressStatus status) {
// 获取上传平均速率
System.out.println("AverageSpeed:" + status.getAverageSpeed());
// 获取上传进度百分比
System.out.println("TransferPercentage:" + status.getTransferPercentage());
}
});
// 每上传1MB数据反馈上传进度
request.setProgressInterval(1024 * 1024L);
obsClient.putObject(request);
return "https://"+bucketname+"."+endPoint+"/"+objectname;
}
public static void listObjects(){
ListObjectsRequest request = new ListObjectsRequest(bucketname);
// 设置每页100个对象
request.setMaxKeys(100);
ObjectListing result;
do{
result = obsClient.listObjects(request);
for(ObsObject obsObject : result.getObjects()){
System.out.println("\t" + obsObject.getObjectKey());
System.out.println("\t" + obsObject.getOwner());
}
request.setMarker(result.getNextMarker());
}while(result.isTruncated());
}
public static void deleteObject(String objectname){
ObsClient obsClient = new ObsClient(ak, sk, endPoint);
obsClient.deleteObject(bucketname, objectname);
}
public static boolean deleteObject2(String objectname){
try {
DeleteObjectsRequest deleteRequest = new DeleteObjectsRequest(bucketname);
deleteRequest.addKeyAndVersion(objectname);
DeleteObjectsResult deleteResult = obsClient.deleteObjects(deleteRequest);
List<DeleteObjectsResult.DeleteObjectResult> list = deleteResult.getDeletedObjectResults();
return list.size()>0&& objectname.equals(list.get(0).getObjectKey());
}catch (Exception e){
}
return false;
}
/**
* 列举桶
*/
public static void listBucketst(){
ListBucketsRequest request = new ListBucketsRequest();
request.setQueryLocation(true);
List<ObsBucket> buckets = obsClient.listBuckets(request);
for(ObsBucket bucket : buckets){
System.out.println("BucketName:" + bucket.getBucketName());
System.out.println("CreationDate:" + DateUtils.formatDate(bucket.getCreationDate(),"yyyy-MM-dd HH:mm:ss"));
System.out.println("Location:" + bucket.getLocation());
}
}