/**
*
*/
package net.caiban.utils.upload;
import java.io.IOException;
import java.io.InputStream;
import org.springframework.web.multipart.MultipartFile;
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.model.ObjectMetadata;
/**
* @author parox
*
*/
public class OssUploader extends AbstractUploader{
private OSSClient ossClient;
private String bucket;
public OssUploader(String inputName) {
super(inputName);
}
public OssUploader (OSSClient ossClient, String bucket){
super(null);
this.ossClient = ossClient;
this.bucket = bucket;
}
public OssUploader (OSSClient ossClient, String bucket, String inputName){
super(inputName);
this.ossClient = ossClient;
this.bucket = bucket;
}
@Override
protected UploadResult putObject(MultipartFile file, String path,
String originalName, String resultName) throws IOException,
UploadException {
if(ossClient==null){
throw new UploadException("OSS Client is null.");
}
ObjectMetadata objectMeta = new ObjectMetadata();
objectMeta.setContentType(file.getContentType());
InputStream is = file.getInputStream();
objectMeta.setContentLength(is.available());
UploadResult result = new UploadResult(path, originalName, resultName);
ossClient.putObject(bucket, result.getFullPath(), is, objectMeta);
//PutObjectResult ossResult =
return result;
}
}