新增文件测试

master
Diyu0904 2025-03-17 16:24:27 +08:00
parent 00693ef802
commit 20b74ebdcd
1 changed files with 42 additions and 38 deletions

View File

@ -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();
}
}