新增文件测试
parent
00693ef802
commit
20b74ebdcd
|
@ -7,6 +7,7 @@ import com.mcwl.resource.domain.request.RequestFile;
|
|||
import com.mcwl.resource.service.impl.FileServiceImpl;
|
||||
import com.mcwl.web.controller.common.OssUtil;
|
||||
import com.obs.services.ObsClient;
|
||||
import com.obs.services.exception.ObsException;
|
||||
import com.obs.services.model.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
@ -285,48 +286,51 @@ public class FileController {
|
|||
return fileService.selectHash(hashCode,type);
|
||||
}
|
||||
|
||||
// @PostMapping("/test")
|
||||
// public R test(@RequestParam File file){
|
||||
//
|
||||
// // 创建上传请求
|
||||
// ObjectMetadata metadata = new ObjectMetadata();
|
||||
// metadata.setContentLength(file.length());
|
||||
// InitiateMultipartUploadRequest initiateRequest = new InitiateMultipartUploadRequest(bucketName, file.getName(), metadata);
|
||||
// InitiateMultipartUploadResult initiateResult = obsClient.initiateMultipartUpload(initiateRequest);
|
||||
// String uploadId = initiateResult.getUploadId();
|
||||
//
|
||||
// // 分片上传
|
||||
// long partSize = 5 * 1024 * 1024; // 分片大小为5MB
|
||||
// long filePosition = 0;
|
||||
// int partNumber = 1;
|
||||
// while (filePosition < file.length()) {
|
||||
// long currentPartSize = Math.min(partSize, file.length() - filePosition);
|
||||
// UploadPartRequest uploadRequest = new UploadPartRequest();
|
||||
// uploadRequest.setBucketName(bucketName);
|
||||
// uploadRequest.setObjectKey(file.getName());
|
||||
// uploadRequest.setUploadId(uploadId);
|
||||
// uploadRequest.setFile(file);
|
||||
// uploadRequest.setPartSize(currentPartSize);
|
||||
// uploadRequest.setPartNumber(partNumber);
|
||||
// uploadRequest.setPosition(filePosition);
|
||||
// UploadPartResult uploadResult = obsClient.uploadPart(uploadRequest);
|
||||
// PartEtag partEtag = new PartEtag(uploadResult.getEtag(), uploadResult.getPartNumber());
|
||||
// partNumber++;
|
||||
// filePosition += currentPartSize;
|
||||
// }
|
||||
//
|
||||
// // 完成分片上传
|
||||
// CompleteMultipartUploadRequest completeRequest = new CompleteMultipartUploadRequest(bucketName, file.getName(), uploadId);
|
||||
// obsClient.completeMultipartUpload(completeRequest);
|
||||
// String key = completeRequest.getObjectKey();
|
||||
// return R.ok(key);
|
||||
// }
|
||||
|
||||
|
||||
@PostMapping("/updateFileData")
|
||||
public R updateFileData(@RequestBody RequestFile requestFile){
|
||||
|
||||
return fileService.updateFileData(requestFile);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/test")
|
||||
public R test(@RequestParam String filePath,String objectkey){
|
||||
|
||||
try {
|
||||
|
||||
UploadFileRequest request = new UploadFileRequest(bucketName, objectkey);
|
||||
// 设置待上传的本地文件,localfile为待上传的本地文件路径,需要指定到具体带文件后缀的文件名
|
||||
request.setUploadFile(filePath);
|
||||
// 设置分段上传时的最大并发数
|
||||
request.setTaskNum(5);
|
||||
// 设置分段大小为10MB
|
||||
request.setPartSize(10 * 1024 * 1024);
|
||||
// 开启断点续传模式
|
||||
request.setEnableCheckpoint(true);
|
||||
// 进行断点续传上传
|
||||
CompleteMultipartUploadResult result = obsClient.uploadFile(request);
|
||||
|
||||
log.info("上传完成:{}",result);
|
||||
System.out.println("UploadFile successfully");
|
||||
} catch (ObsException e) {
|
||||
// 发生异常时可再次调用断点续传上传接口进行重新上传
|
||||
System.out.println("UploadFile failed");
|
||||
// 请求失败,打印http状态码
|
||||
System.out.println("HTTP Code:" + e.getResponseCode());
|
||||
// 请求失败,打印服务端错误码
|
||||
System.out.println("Error Code:" + e.getErrorCode());
|
||||
// 请求失败,打印详细错误信息
|
||||
System.out.println("Error Message:" + e.getErrorMessage());
|
||||
// 请求失败,打印请求id
|
||||
System.out.println("Request ID:" + e.getErrorRequestId());
|
||||
System.out.println("Host ID:" + e.getErrorHostId());
|
||||
e.printStackTrace();
|
||||
} catch (Exception e) {
|
||||
System.out.println("UploadFile failed");
|
||||
// 其他异常信息打印
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return R.ok();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue