1. 程式人生 > >安卓上傳圖片到阿里雲

安卓上傳圖片到阿里雲

//--------------------------阿里雲相關--Start-------------------------------
private OSSService ossService;
private String BucketName="collect-app";
private OSSBucket bucket;
private String host="oss-cn-qingdao.aliyuncs.com"; //外網
//private String host="oss-cn-qingdao-internal.aliyuncs.com"; //內網
static final String accessKey = "輸入自己的key"; // 測試程式碼沒有考慮AK/SK的安全性
static final String screctKey = "輸入自己的key";
//---------------------------阿里雲相關---end--------------------------------
public OSSService getOssService(){
return ossService;
}
//阿里雲相關--------------------------start-------------------------------------
private void initAliyun() {

ossService = OSSServiceProvider.getService();
ossService.setApplicationContext(getApplicationContext());
ossService.setGlobalDefaultHostId(host);
/*ossService.setAuthenticationType(AuthenticationType.FEDERATION_TOKEN);
ossService.setGlobalDefaultStsTokenGetter(new StsTokenGetter() {

@Override
public OSSFederationToken getFederationToken() {
// TODO Auto-generated method stub
return null;
}
});*/
ossService.setGlobalDefaultACL(AccessControlList.PRIVATE); // 預設為private
ossService.setAuthenticationType(AuthenticationType.ORIGIN_AKSK); // 設定加簽型別為原始AK/SK加簽
ossService.setGlobalDefaultTokenGenerator(new TokenGenerator() { // 設定全域性預設加簽器
@Override
public String generateToken(String httpMethod, String md5, String type, String date,
String ossHeaders, String resource) {

String content = httpMethod + "\n" + md5 + "\n" + type + "\n" + date + "\n" + ossHeaders
+ resource;
Log.i("ss","加簽器"+ content.toString());
return OSSToolKit.generateToken(accessKey, screctKey, content);
}
});
ossService.setCustomStandardTimeWithEpochSec(System.currentTimeMillis() / 1000); // epoch時間,從1970年1月1日00:00:00 UTC經過的秒數

ClientConfiguration conf = new ClientConfiguration();
conf.setConnectTimeout(15 * 1000); // 設定建連超時時間,預設為30s
conf.setSocketTimeout(15 * 1000); // 設定socket超時時間,預設為30s
conf.setMaxConnections(50); // 設定全域性最大併發連線數,預設為50個
ossService.setClientConfiguration(conf);
}