1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /**
- * Copyright (c) 2016-2019 人人开源 All rights reserved.
- * <p>
- * https://www.renren.io
- * <p>
- * 版权所有,侵权必究!
- */
- package io.renren.modules.oss.cloud;
- import com.qiniu.common.Zone;
- import com.qiniu.http.Response;
- import com.qiniu.storage.Configuration;
- import com.qiniu.storage.UploadManager;
- import com.qiniu.util.Auth;
- import io.renren.common.exception.RRException;
- import org.apache.commons.io.IOUtils;
- import java.io.IOException;
- import java.io.InputStream;
- /**
- * 七牛云存储
- *
- * @author Mark 735032128@qq.com
- */
- public class QiniuCloudStorageService extends CloudStorageService {
- private UploadManager uploadManager;
- private String token;
- public QiniuCloudStorageService(CloudStorageConfig config) {
- this.config = config;
- //初始化
- init();
- }
- private void init() {
- uploadManager = new UploadManager(new Configuration(Zone.autoZone()));
- token = Auth.create(config.getQiniuAccessKey(), config.getQiniuSecretKey()).
- uploadToken(config.getQiniuBucketName());
- }
- @Override
- public String upload(byte[] data, String path) {
- try {
- Response res = uploadManager.put(data, path, token);
- if (!res.isOK()) {
- throw new RuntimeException("上传七牛出错:" + res.toString());
- }
- } catch (Exception e) {
- throw new RRException("上传文件失败,请核对七牛配置信息", e);
- }
- return config.getQiniuDomain() + "/" + path;
- }
- @Override
- public String upload(InputStream inputStream, String path) {
- try {
- byte[] data = IOUtils.toByteArray(inputStream);
- return this.upload(data, path);
- } catch (IOException e) {
- throw new RRException("上传文件失败", e);
- }
- }
- @Override
- public String uploadSuffix(byte[] data, String suffix) {
- return upload(data, getPath(config.getQiniuPrefix(), suffix));
- }
- @Override
- public String uploadSuffix(InputStream inputStream, String suffix) {
- return upload(inputStream, getPath(config.getQiniuPrefix(), suffix));
- }
- }
|