All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jeewx.api.cloud.baidu.BaiduCloudService Maven / Gradle / Ivy

package org.jeewx.api.cloud.baidu;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;

import org.apache.log4j.Logger;
import org.jeewx.api.cloud.baidu.model.BaiduCloud;

import com.baidu.inf.iis.bcs.BaiduBCS;
import com.baidu.inf.iis.bcs.auth.BCSCredentials;
import com.baidu.inf.iis.bcs.http.HttpMethodName;
import com.baidu.inf.iis.bcs.model.ObjectMetadata;
import com.baidu.inf.iis.bcs.request.GenerateUrlRequest;
import com.baidu.inf.iis.bcs.request.PutObjectRequest;


public class BaiduCloudService {
	
	private static Logger logger = Logger.getLogger(BaiduCloudService.class);
	
	public static void main(String[] args) throws Exception {
		 String host = "bcs.duapp.com";
		 String accessKey = "y8YEATsG8L8GbGa8vx7WGA6u";
		 String secretKey = "PObREaN0siRlVeAGUaDSFkaTNGOT3cna";
		 String bucket = "bucket-2015-1";
		 String object = "/test1.jpg";
		 BaiduCloud bc = new BaiduCloud();
		 bc.setHost(host);
		 bc.setAccessKey(accessKey);
		 bc.setSecretKey(secretKey);
		 bc.setBucket(bucket);
		 bc.setObject(object);
		 bc.setFilePathName("E:\\logo.jpg");
		 putObjectByInputStream(bc);
		 generateUrl(bc);
	} 
	
	/**
	 * 向百度云服务器 上传资料
	 */
	public static ObjectMetadata putObjectByInputStream(BaiduCloud bc) throws FileNotFoundException {
		BCSCredentials credentials = new BCSCredentials(bc.getAccessKey(), bc.getSecretKey());
		BaiduBCS baiduBCS = new BaiduBCS(credentials, bc.getHost());
		baiduBCS.setDefaultEncoding("UTF-8"); // Default UTF-8
		File file=new File(bc.getFilePathName()); 
		InputStream fileContent = new FileInputStream(file);
		ObjectMetadata objectMetadata = new ObjectMetadata();
		String fileName = bc.getFilePathName();
		String extName = fileName.substring(fileName.lastIndexOf(".") + 1);//扩展名
		/*String contentType = WeiXinReqUtil.getFileContentType(extName);
		if(contentType == null){
			logger.error("没有找到对应的文件类型");
		}*/
		objectMetadata.setContentType("image/jpeg");
		objectMetadata.setContentLength(file.length());
		PutObjectRequest request = new PutObjectRequest(bc.getBucket(), bc.getObject(), fileContent, objectMetadata);
		ObjectMetadata result = baiduBCS.putObject(request).getResult();
		System.out.println("result:"+result);
		return result;
	}
	
	/**
	 * 获得上传资料的url 
	 * @return url
	 */
	public static String generateUrl(BaiduCloud bc) {
		BCSCredentials credentials = new BCSCredentials(bc.getAccessKey(), bc.getSecretKey());
		BaiduBCS baiduBCS = new BaiduBCS(credentials, bc.getHost());
		baiduBCS.setDefaultEncoding("UTF-8"); // Default UTF-8
		GenerateUrlRequest generateUrlRequest = new GenerateUrlRequest(HttpMethodName.GET, bc.getBucket(), bc.getObject());
		System.out.println(baiduBCS.generateUrl(generateUrlRequest));
		return (String)baiduBCS.generateUrl(generateUrlRequest);
	}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy