Spring Bootドッキング七牛雲アップロード画像(spring管理対象に渡す)
11262 ワード
1.動機
七牛雲とのドッキングは初めてなので、インターネットで一周見て、一部の事例を参考にしました.しかし、ネット上のほとんどのケースには本格的なspringの特性がないことが分かりました.いっそのこと、私もレンガを捨てて玉を引くようにしました.例を書いてから参考にします.
2.準備
1、まずMaven座標を導入する
*新しい画像名を生成するにはuuidを使えばいいです.
圧縮画像は、Thumbnails.of.scale(1 f).outputQuallity(0.9 f).toOutputStream;*
七牛雲とのドッキングは初めてなので、インターネットで一周見て、一部の事例を参考にしました.しかし、ネット上のほとんどのケースには本格的なspringの特性がないことが分かりました.いっそのこと、私もレンガを捨てて玉を引くようにしました.例を書いてから参考にします.
2.準備
1、まずMaven座標を導入する
<dependency>
<groupId>com.qiniugroupId>
<artifactId>qiniu-java-sdkartifactId>
<version>7.2.29version>
dependency>
<dependency>
<groupId>net.coobirdgroupId>
<artifactId>thumbnailatorartifactId>
<version>0.4.8version>
dependency>
2、プロファイル.yml情報qiniu:
accessKey: **********************
secretKey: *******************************
bucket: *******
3、ここに重点を置きます.例えば、UploadManagerの対象はSpringに渡すことができますが、ほとんどの人が第三者APIを書く時は一例としての思想がないので、どこで使うかはNewに一回だけ!Springをずっと使って開発していますね!/**
* @Author yj 2020/7/3
*
*/
@Data
@Component // @Configuration Configuration , @Component
@ConfigurationProperties(prefix="qiniu")
public class QiniuProp implements Serializable {
private static final long serialVersionUID = -4882402762964443190L;
/*** qiniu accessKey*/
private String accessKey;
/*** qiniu secretKey*/
private String secretKey;
/*** qiniu zone*/
private String bucket;
@Bean
public UploadManager upQiniu(){
return new UploadManager(new Configuration(Region.autoRegion()));
}
}
4、業務層にUploadManagerを注入してput方法で画像をアップロードする*新しい画像名を生成するにはuuidを使えばいいです.
圧縮画像は、Thumbnails.of.scale(1 f).outputQuallity(0.9 f).toOutputStream;*
/**
*
*
* @Author yj
* @Date 2020/7/3
**/
public String upImgToQiniu(MultipartFile file) {
try {
// ,
String key = this.checkImage(file);
//
byte[] uploadBytes = getCompressImg(file);
Auth auth = Auth.create(qiniuProp.getAccessKey(), qiniuProp.getSecretKey());
String upToken = auth.uploadToken(qiniuProp.getBucket());
Response response = uploadManager.put(uploadBytes, key, upToken);
log.info("[ ] response :{}", response.bodyString());
if (!response.isOK()) {
throw new GlobalException(ResultEnum.UPLOAD_FILE_ERROR);
}
return uploadImgProp.getImgBaseUrl() + key;
} catch (IOException e) {
log.error("[ ] ", e);
throw new GlobalException(ResultEnum.UPLOAD_FILE_ERROR);
}
}