@RequestMapping(value = "/tengxun", method = RequestMethod.POST)
@ApiOperation(value = "从腾讯云上,上传视频")
@ResponseBody
public void Upload(@RequestParam(value = "file") MultipartFile file, HttpSession session) {
String oldFileName = file.getOriginalFilename();
System.out.println("老的本地地址"+oldFileName);
String eName = oldFileName.substring(oldFileName.lastIndexOf("."));
// String newFileName = UUID.randomUUID() + eName;
// System.out.println("新的文件地址"+newFileName);
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DATE);
// 简单文件上传, 最大支持 5 GB, 适用于小文件上传, 建议 20 M 以下的文件使用该接口
// 大文件上传请参照 API 文档高级 API 上传
// File localFile = null;
// localFile = File.createTempFile("temp", null);
// file.transferTo(localFile);
// // 指定要上传到 COS 上的路径
System.out.println("Prefix前缀"+cosConfigProperties);
// String key = "/" + cosConfigProperties.getPrefix() + "/" + year + "/" + month + "/" + day + "/" + newFileName;
String key = "/" + cosConfigProperties.getPrefix() + "/" + year + "/" + month + "/" + day + "/" + oldFileName;
System.out.println("key"+cosConfigProperties.getSecretkey());
// String key = "aaa/bbb.txt";
// PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, localFile);
System.out.println("secretKey"+cosConfigProperties.getSecretkey());
System.out.println("secreteId"+cosConfigProperties.getSecretid());
COSCredentials cred = new BasicCOSCredentials(cosConfigProperties.getSecretid(),cosConfigProperties.getSecretkey());
System.out.println("地区"+cosConfigProperties.getRegion());
ClientConfig clientConfig = new ClientConfig(new Region(cosConfigProperties.getRegion()));
COSClient cosclient = new COSClient(cred, clientConfig);
// String bucketName = "mybucket-1251668577";
ExecutorService threadPool = Executors.newFixedThreadPool(32);
TransferManager transferManager = new TransferManager(cosclient, threadPool);
File localFile = null;
try {
localFile = File.createTempFile(cosConfigProperties.getPrefix(), null);
PutObjectRequest putObjectRequest = new PutObjectRequest(cosConfigProperties.getBucketname(), key, localFile);
long startTime = System.currentTimeMillis();
Upload upload = transferManager.upload(putObjectRequest);
showTransferProgress(upload);
UploadResult uploadResult = upload.waitForUploadResult();
long endTime = System.currentTimeMillis();
System.out.println("used time: " + (endTime - startTime) / 1000L);
//https://uminsi-1305874324.cos.ap-nanjing.myqcloud.com
// /uminsi/2021/5/15/8de89f89-0faf-4b58-8020-f33ccb910004.avi
System.out.println(uploadResult.getETag());
URL url=cosclient.generatePresignedUrl( cosConfigProperties.getBucketname()+ "-" + cosConfigProperties.getAppid(), key, new Date(new Date().getTime() + 5 * 60 * 10000));
System.out.println("地址: "+url.getPath());
} catch (CosServiceException var15) {
var15.printStackTrace();
} catch (CosClientException var16) {
var16.printStackTrace();
} catch (InterruptedException var17) {
var17.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
transferManager.shutdownNow();
cosclient.shutdown();
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。