Java项目经验-小程序1

1 , 腾讯云COS上传下载

引入依赖

<dependency>
    <groupId>com.qcloud</groupId>
    <artifactId>cos_api</artifactId>
    <version>5.6.54</version>
</dependency>

 

上传方法 (官方地址链接:点我

Private  static  final  String  bucketName="存储桶名称";
//secretId秘钥id
Privates  tatic  final  String  SecretId="SecretId";
//SecretKey秘钥
Private  static  final  String  SecretKey="SecretKey";
//腾讯云自定义文件夹名称
Private  static  final  String  prefix="文件夹/";
//访问域名
Public  static  final  String  URL="域名";
//创建COS凭证
Private  static  COSCredentials  credentials  =  new  BasicCOSCredentials(SecretId,SecretKey);
//配置COS
Private  static  ClientConfig  clientConfig  =  new  ClientConfig(new  Region("区域"));


Public  static  String  uploadFile(MultipartFile  file){
//创建COS客户端连接
COSClient  cosClient  =  new  COSClient(credentials, clientConfig);
String  fileName  =  file.getOriginalFilename();
try{
    String  substring  =  fileName.substring(fileName.lastIndexOf("."));
    File  localFile  =  File.createTempFile(String.valueOf(System.currentTimeMillis()),  substring);
    file.transferTo(localFile);
    fileName  =  prefix + fileName;
    
    //将文件上传至COS
    PutObjectRequest  objectRequest  =  new  PutObjectRequest(bucketName,  fileName,  localFile);
    cosClient.putObject(objectRequest);
} catch  (Exception  e){
    e.printStackTrace();
}  finally  {
    cosClient.shutdown();
    }
    Return URL  +  fileName;
}

返回的URL就是对象存储的地址,下载的时候,把地址复制到浏览器即可下载。(前提是存储桶有公共访问权限)

写了一个不成熟的下载方法

   public static void downloadFile1(String key,String outputFilePath) {
        //创建 COS 客户端连接
        COSClient cosClient = new COSClient(credentials, clientConfig);

        File downFile = new File(outputFilePath);
        GetObjectRequest getObjectRequest = new GetObjectRequest(bucketName, key);

        ObjectMetadata downObjectMeta = cosClient.getObject(getObjectRequest, downFile);

    }

配置信息在上传的时候写了,下载的时候只需要建立连接就可以了。

传入对象存储的地址URL,要保存在本地的路径(没找到自己选路径的方法。。)

 

2,注解

@JsonFormat(pattern="yyyy-MM-ddHH:mm:ss")
时间格式化输出的注解


@Autowired在控制类中注入接口,调用接口中的方法。
@Override 接口实现类中,函数前加注解。

@RequestMapping(value="/home")
路径注解,

@Transactional 注解,声明式事务管理。应该只被应用到public方法上,需要AOP拦截及事务处理。

@ApiModelProperty("这是一个注解") 在swagger上加注解

定时器注解:@Scheduled(cron = " 0 0 1 * * ? " )

 

cron表达式的语法:[秒] [分] [小时] [日] [月] [周] [年] 其中年不是必须域,可以忽略

 

 

 

 3,其他

 

 

 

 

 

 需要计算时,要注意!

 

 

 加油!

posted @ 2022-01-17 15:01  木_糖  阅读(72)  评论(0编辑  收藏  举报