Search in sources :

Example 1 with CUploadResult

use of com.jeesuite.cos.CUploadResult in project jeesuite-libs by vakinge.

the class MinioProvider method upload.

@Override
public CUploadResult upload(CUploadObject object) {
    try {
        String bucketName = object.getBucketName();
        if (StringUtils.isEmpty(bucketName)) {
            throw new JeesuiteBaseException("BucketName 不能为空");
        }
        String fileKey = object.getFileKey();
        InputStream inputStream = object.getInputStream();
        byte[] objectBytes = object.getBytes();
        ObjectWriteResponse objectWriteResponse = null;
        long size = 0;
        if (object.getFile() != null) {
            objectWriteResponse = minioClient.uploadObject(UploadObjectArgs.builder().bucket(bucketName).filename(object.getFile().getAbsolutePath()).object(fileKey).contentType(object.getMimeType()).build());
            size = object.getFile().length();
        } else if (objectBytes != null) {
            byte[] bytes = objectBytes;
            ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
            objectWriteResponse = minioClient.putObject(PutObjectArgs.builder().bucket(bucketName).object(fileKey).contentType(object.getMimeType()).stream(bis, bytes.length, -1).build());
            size = bytes.length;
            bis.close();
        } else if (inputStream != null) {
            objectWriteResponse = minioClient.putObject(PutObjectArgs.builder().bucket(bucketName).object(fileKey).contentType(object.getMimeType()).stream(inputStream, inputStream.available(), -1).build());
            size = inputStream.available();
        } else {
            throw new JeesuiteBaseException("upload object is NULL");
        }
        if (objectWriteResponse != null) {
            CUploadResult uploadResult = new CUploadResult(fileKey, getDownloadUrl(object.getBucketName(), fileKey, 300), null);
            uploadResult.setMimeType(object.getMimeType());
            uploadResult.setFileSize(size);
            return uploadResult;
        }
    } catch (JeesuiteBaseException jbex) {
        throw jbex;
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
    return null;
}
Also used : ObjectWriteResponse(io.minio.ObjectWriteResponse) CUploadResult(com.jeesuite.cos.CUploadResult) JeesuiteBaseException(com.jeesuite.common.JeesuiteBaseException) ByteArrayInputStream(java.io.ByteArrayInputStream) ByteArrayInputStream(java.io.ByteArrayInputStream) InputStream(java.io.InputStream) JeesuiteBaseException(com.jeesuite.common.JeesuiteBaseException)

Example 2 with CUploadResult

use of com.jeesuite.cos.CUploadResult in project jeesuite-libs by vakinge.

the class QiniuProvider method upload.

@Override
public CUploadResult upload(CUploadObject object) {
    String fileKey = object.getFileKey();
    String bucketName = buildBucketName(object.getBucketName());
    try {
        Response res = null;
        String upToken = getUpToken(bucketName);
        if (object.getFile() != null) {
            res = uploadManager.put(object.getFile(), fileKey, upToken);
        } else if (object.getBytes() != null) {
            res = uploadManager.put(object.getBytes(), fileKey, upToken);
        } else if (object.getInputStream() != null) {
            res = uploadManager.put(object.getInputStream(), fileKey, upToken, null, object.getMimeType());
        } else {
            throw new IllegalArgumentException("upload object is NULL");
        }
        if (res.isOK()) {
            return new CUploadResult(fileKey, getFullPath(object.getBucketName(), fileKey), null);
        }
    } catch (QiniuException e) {
        processQiniuException(object.getFileKey(), e);
    }
    return null;
}
Also used : Response(com.qiniu.http.Response) CUploadResult(com.jeesuite.cos.CUploadResult) QiniuException(com.qiniu.common.QiniuException)

Example 3 with CUploadResult

use of com.jeesuite.cos.CUploadResult in project jeesuite-libs by vakinge.

the class AliyunProvider method upload.

@Override
public CUploadResult upload(CUploadObject object) {
    try {
        PutObjectRequest request;
        String fileKey = object.getFileKey();
        String bucketName = buildBucketName(object.getBucketName());
        if (object.getFile() != null) {
            request = new PutObjectRequest(bucketName, fileKey, object.getFile());
        } else if (object.getBytes() != null) {
            ByteArrayInputStream inputStream = new ByteArrayInputStream(object.getBytes());
            ObjectMetadata objectMetadata = new ObjectMetadata();
            objectMetadata.setContentLength(object.getFileSize());
            request = new PutObjectRequest(bucketName, fileKey, inputStream, objectMetadata);
        } else if (object.getInputStream() != null) {
            ObjectMetadata objectMetadata = new ObjectMetadata();
            objectMetadata.setContentLength(object.getFileSize());
            request = new PutObjectRequest(bucketName, fileKey, object.getInputStream(), objectMetadata);
        } else {
            throw new IllegalArgumentException("upload object is NULL");
        }
        PutObjectResult result = ossClient.putObject(request);
        if (result.getResponse() == null || result.getResponse().isSuccessful()) {
            return new CUploadResult(fileKey, getFullPath(object.getBucketName(), fileKey), result.getServerCRC().toString());
        } else {
            throw new RuntimeException(result.getResponse().getErrorResponseAsString());
        }
    } catch (OSSException e) {
        throw new RuntimeException(e.getErrorMessage());
    }
}
Also used : CUploadResult(com.jeesuite.cos.CUploadResult) ByteArrayInputStream(java.io.ByteArrayInputStream) PutObjectResult(com.aliyun.oss.model.PutObjectResult) OSSException(com.aliyun.oss.OSSException) ObjectMetadata(com.aliyun.oss.model.ObjectMetadata) CObjectMetadata(com.jeesuite.cos.CObjectMetadata) PutObjectRequest(com.aliyun.oss.model.PutObjectRequest)

Example 4 with CUploadResult

use of com.jeesuite.cos.CUploadResult in project jeesuite-libs by vakinge.

the class QcloudProvider method upload.

@Override
public CUploadResult upload(CUploadObject object) {
    PutObjectRequest request;
    String fileKey = object.getFileKey();
    String bucketName = buildBucketName(object.getBucketName());
    if (object.getFile() != null) {
        request = new PutObjectRequest(bucketName, fileKey, object.getFile());
    } else if (object.getBytes() != null) {
        ByteArrayInputStream inputStream = new ByteArrayInputStream(object.getBytes());
        ObjectMetadata objectMetadata = new ObjectMetadata();
        objectMetadata.setContentLength(object.getFileSize());
        request = new PutObjectRequest(bucketName, fileKey, inputStream, objectMetadata);
    } else if (object.getInputStream() != null) {
        ObjectMetadata objectMetadata = new ObjectMetadata();
        objectMetadata.setContentLength(object.getFileSize());
        request = new PutObjectRequest(bucketName, fileKey, object.getInputStream(), objectMetadata);
    } else {
        throw new IllegalArgumentException("upload object is NULL");
    }
    try {
        if (object.getFileSize() > conf.getMaxAllowdSingleFileSize()) {
            Upload upload = transferManager.upload(request);
            com.qcloud.cos.model.UploadResult result = upload.waitForUploadResult();
            return new CUploadResult(fileKey, getFullPath(object.getBucketName(), fileKey), result.getCrc64Ecma());
        } else {
            PutObjectResult result = cosclient.putObject(request);
            return new CUploadResult(fileKey, getFullPath(object.getBucketName(), fileKey), result.getContentMd5());
        }
    } catch (Exception e) {
        e.printStackTrace();
        throw new JeesuiteBaseException(500, buildMessage(bucketName, e));
    }
}
Also used : PutObjectResult(com.qcloud.cos.model.PutObjectResult) Upload(com.qcloud.cos.transfer.Upload) CosServiceException(com.qcloud.cos.exception.CosServiceException) IOException(java.io.IOException) JeesuiteBaseException(com.jeesuite.common.JeesuiteBaseException) CUploadResult(com.jeesuite.cos.CUploadResult) JeesuiteBaseException(com.jeesuite.common.JeesuiteBaseException) ByteArrayInputStream(java.io.ByteArrayInputStream) ObjectMetadata(com.qcloud.cos.model.ObjectMetadata) CObjectMetadata(com.jeesuite.cos.CObjectMetadata) PutObjectRequest(com.qcloud.cos.model.PutObjectRequest)

Aggregations

CUploadResult (com.jeesuite.cos.CUploadResult)4 ByteArrayInputStream (java.io.ByteArrayInputStream)3 JeesuiteBaseException (com.jeesuite.common.JeesuiteBaseException)2 CObjectMetadata (com.jeesuite.cos.CObjectMetadata)2 OSSException (com.aliyun.oss.OSSException)1 ObjectMetadata (com.aliyun.oss.model.ObjectMetadata)1 PutObjectRequest (com.aliyun.oss.model.PutObjectRequest)1 PutObjectResult (com.aliyun.oss.model.PutObjectResult)1 CosServiceException (com.qcloud.cos.exception.CosServiceException)1 ObjectMetadata (com.qcloud.cos.model.ObjectMetadata)1 PutObjectRequest (com.qcloud.cos.model.PutObjectRequest)1 PutObjectResult (com.qcloud.cos.model.PutObjectResult)1 Upload (com.qcloud.cos.transfer.Upload)1 QiniuException (com.qiniu.common.QiniuException)1 Response (com.qiniu.http.Response)1 ObjectWriteResponse (io.minio.ObjectWriteResponse)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1