Java源码示例:com.qiniu.storage.Region

示例1
/**
 * 得到机房的对应关系
 *
 * @param zone 机房名称
 * @return Region
 */
public static Region getRegion(String zone) {

    if (HUAD.equals(zone)) {
        return Region.huadong();
    } else if (HUAB.equals(zone)) {
        return Region.huabei();
    } else if (HUAN.equals(zone)) {
        return Region.huanan();
    } else if (BEIM.equals(zone)) {
        return Region.beimei();
        // 否则就是东南亚
    } else {
        return Region.qvmHuadong();
    }
}
 
示例2
@Override
public String uploadFile(InputStream inputStream, long size, String extName) {
    QnConfig qnConfig = systemConfig.getQn();
    Configuration cfg = new Configuration(Region.region2());
    UploadManager uploadManager = new UploadManager(cfg);
    Auth auth = Auth.create(qnConfig.getAccessKey(), qnConfig.getSecretKey());
    String upToken = auth.uploadToken(qnConfig.getBucket());
    try {
        Response response = uploadManager.put(inputStream, null, upToken, null, null);
        DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
        return qnConfig.getUrl() + "/" + putRet.key;
    } catch (QiniuException ex) {
        logger.error(ex.getMessage(), ex);
    }
    return null;
}
 
示例3
@Override
public String uploadFile(InputStream inputStream, long size, String extName) {
    QnConfig qnConfig = systemConfig.getQn();
    Configuration cfg = new Configuration(Region.region2());
    UploadManager uploadManager = new UploadManager(cfg);
    Auth auth = Auth.create(qnConfig.getAccessKey(), qnConfig.getSecretKey());
    String upToken = auth.uploadToken(qnConfig.getBucket());
    try {
        Response response = uploadManager.put(inputStream, null, upToken, null, null);
        DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
        return qnConfig.getUrl() + "/" + putRet.key;
    } catch (QiniuException ex) {
        logger.error(ex.getMessage(), ex);
    }
    return null;
}
 
示例4
/**
 * 得到机房的对应关系
 * @param zone 机房名称
 * @return Region
 */
public static Region getRegion(String zone){

    if(HUAD.equals(zone)){
        return Region.huadong();
    } else if(HUAB.equals(zone)){
        return Region.huabei();
    } else if(HUAN.equals(zone)){
        return Region.huanan();
    } else if (BEIM.equals(zone)){
        return Region.beimei();
        // 否则就是东南亚
    } else {
        return Region.qvmHuadong();
    }
}
 
示例5
/**
 * 得到机房的对应关系
 * @param zone 机房名称
 * @return Region
 */
public static Region getRegion(String zone){

    if(HUAD.equals(zone)){
        return Region.huadong();
    } else if(HUAB.equals(zone)){
        return Region.huabei();
    } else if(HUAN.equals(zone)){
        return Region.huanan();
    } else if (BEIM.equals(zone)){
        return Region.beimei();
        // 否则就是东南亚
    } else {
        return Region.qvmHuadong();
    }
}
 
示例6
private Region getRegion() {

        switch (region) {
            case HUADONG:
                return Region.huadong();
            case HUABEI:
                return Region.huabei();
            case HUANAN:
                return Region.huanan();
            case BEIMEI:
                return Region.beimei();
            case XINJIAPO:
                return Region.xinjiapo();
            default:
                return Region.autoRegion();
        }
    }
 
示例7
public QiNiuUtil() {
	qiNiuConfig = SpringContextHolder.getApplicationContext().getBean(QiNiuConfig.class);
	if (StringUtils.isNotBlank(qiNiuConfig.getAccessKey()) && StringUtils.isNotBlank(qiNiuConfig.getSecretKey())) {
		instance = new QiNiuUtil();
		instance.auth = Auth.create(qiNiuConfig.getAccessKey(), qiNiuConfig.getSecretKey());
		Configuration config = new Configuration(Region.region2());
		instance.uploadManager = new UploadManager(config);
		instance.bucketManager = new BucketManager(instance.auth, config);
	}
}
 
示例8
/**
 * 得到机房的对应关系
 *
 * @param zone 机房名称
 * @return Region
 */
public static Region getRegion(String zone) {
    if (HUAD.equals(zone)) {
        return Region.huadong();
    } else if (HUAB.equals(zone)) {
        return Region.huabei();
    } else if (HUAN.equals(zone)) {
        return Region.huanan();
    } else if (BEIM.equals(zone)) {
        return Region.beimei();
        // 否则就是东南亚
    } else {
        return Region.qvmHuadong();
    }
}
 
示例9
@Override
public void delete(String key) {
    Assert.notNull(key, "File key must not be blank");

    Region region = optionService.getQiniuRegion();

    String accessKey = optionService.getByPropertyOfNonNull(QiniuOssProperties.OSS_ACCESS_KEY).toString();
    String secretKey = optionService.getByPropertyOfNonNull(QiniuOssProperties.OSS_SECRET_KEY).toString();
    String bucket = optionService.getByPropertyOfNonNull(QiniuOssProperties.OSS_BUCKET).toString();

    // Create configuration
    Configuration configuration = new Configuration(region);

    // Create auth
    Auth auth = Auth.create(accessKey, secretKey);

    BucketManager bucketManager = new BucketManager(auth, configuration);

    try {
        Response response = bucketManager.delete(bucket, key);
        if (!response.isOK()) {
            log.warn("附件 " + key + " 从七牛云删除失败");
        }
    } catch (QiniuException e) {
        log.error("Qiniu oss error response: [{}]", e.response);
        throw new FileOperationException("附件 " + key + " 从七牛云删除失败", e);
    }
}
 
示例10
@Override
public Region getQiniuRegion() {
    return getByProperty(QiniuOssProperties.OSS_ZONE).map(qiniuZone -> {

        Region region;
        switch (qiniuZone.toString()) {
            case "z0":
                region = Region.region0();
                break;
            case "z1":
                region = Region.region1();
                break;
            case "z2":
                region = Region.region2();
                break;
            case "na0":
                region = Region.regionNa0();
                break;
            case "as0":
                region = Region.regionAs0();
                break;
            default:
                // Default is detecting zone automatically
                region = Region.autoRegion();
        }
        return region;

    }).orElseGet(Region::autoRegion);
}
 
示例11
/**
 * 获取设置的UploadManager配置中心
 */
private static UploadManager getUploadManager() {
    Configuration configuration = new Configuration(Region.region0());
    return new UploadManager(configuration);
}
 
示例12
@Bean
public com.qiniu.storage.Configuration configuration() {
    return new com.qiniu.storage.Configuration(Region.autoRegion());
}
 
示例13
@Override
public UploadResult upload(MultipartFile file) {
    Assert.notNull(file, "Multipart file must not be null");

    Region region = optionService.getQiniuRegion();

    String accessKey = optionService.getByPropertyOfNonNull(QiniuOssProperties.OSS_ACCESS_KEY).toString();
    String secretKey = optionService.getByPropertyOfNonNull(QiniuOssProperties.OSS_SECRET_KEY).toString();
    String bucket = optionService.getByPropertyOfNonNull(QiniuOssProperties.OSS_BUCKET).toString();
    String protocol = optionService.getByPropertyOfNonNull(QiniuOssProperties.OSS_PROTOCOL).toString();
    String domain = optionService.getByPropertyOfNonNull(QiniuOssProperties.OSS_DOMAIN).toString();
    String source = optionService.getByPropertyOrDefault(QiniuOssProperties.OSS_SOURCE, String.class, "");
    String styleRule = optionService.getByPropertyOrDefault(QiniuOssProperties.OSS_STYLE_RULE, String.class, "");
    String thumbnailStyleRule = optionService.getByPropertyOrDefault(QiniuOssProperties.OSS_THUMBNAIL_STYLE_RULE, String.class, "");

    // Create configuration
    Configuration configuration = new Configuration(region);

    // Create auth
    Auth auth = Auth.create(accessKey, secretKey);
    // Build put plicy
    StringMap putPolicy = new StringMap();
    putPolicy.put("returnBody", "{\"key\":\"$(key)\",\"hash\":\"$(etag)\",\"size\":$(fsize),\"width\":$(imageInfo.width),\"height\":$(imageInfo.height)}");
    // Get upload token
    String uploadToken = auth.uploadToken(bucket, null, 60 * 60, putPolicy);

    // Create temp path
    Path tmpPath = Paths.get(System.getProperty("java.io.tmpdir"), bucket);

    StringBuilder basePath = new StringBuilder(protocol)
        .append(domain)
        .append(URL_SEPARATOR);

    try {
        String basename = FilenameUtils.getBasename(Objects.requireNonNull(file.getOriginalFilename()));
        String extension = FilenameUtils.getExtension(file.getOriginalFilename());
        String timestamp = String.valueOf(System.currentTimeMillis());
        StringBuilder upFilePath = new StringBuilder();
        if (StringUtils.isNotEmpty(source)) {
            upFilePath.append(source)
                .append(URL_SEPARATOR);
        }
        upFilePath.append(basename)
            .append("_")
            .append(timestamp)
            .append(".")
            .append(extension);

        // Get file recorder for temp directory
        FileRecorder fileRecorder = new FileRecorder(tmpPath.toFile());
        // Get upload manager
        UploadManager uploadManager = new UploadManager(configuration, fileRecorder);
        // Put the file
        Response response = uploadManager.put(file.getInputStream(), upFilePath.toString(), uploadToken, null, null);

        if (log.isDebugEnabled()) {
            log.debug("Qiniu oss response: [{}]", response.toString());
            log.debug("Qiniu oss response body: [{}]", response.bodyString());
        }

        // Convert response
        PutSet putSet = JsonUtils.jsonToObject(response.bodyString(), PutSet.class);

        // Get file full path
        String filePath = StringUtils.join(basePath.toString(), upFilePath.toString());

        // Build upload result
        UploadResult result = new UploadResult();
        result.setFilename(basename);
        result.setFilePath(StringUtils.isBlank(styleRule) ? filePath : filePath + styleRule);
        result.setKey(upFilePath.toString());
        result.setSuffix(extension);
        result.setWidth(putSet.getWidth());
        result.setHeight(putSet.getHeight());
        result.setMediaType(MediaType.valueOf(Objects.requireNonNull(file.getContentType())));
        result.setSize(file.getSize());

        if (isImageType(result.getMediaType())) {
            if (ImageUtils.EXTENSION_ICO.equals(extension)) {
                result.setThumbPath(filePath);
            } else {
                result.setThumbPath(StringUtils.isBlank(thumbnailStyleRule) ? filePath : filePath + thumbnailStyleRule);
            }
        }

        return result;
    } catch (IOException e) {
        if (e instanceof QiniuException) {
            log.error("Qiniu oss error response: [{}]", ((QiniuException) e).response);
        }

        throw new FileOperationException("上传附件 " + file.getOriginalFilename() + " 到七牛云失败", e);
    }
}
 
示例14
/**
 * Get qiniu oss region.
 *
 * @return qiniu region
 */
@NonNull
Region getQiniuRegion();