快速搭建移动应用直传服务
时间:2019-02-14 17:28:48 阅读:67089次 分类:常见问题
本文主要介绍如何基于STS Policy的使用规则在30分钟内搭建一个移动应用数据直传服务。直传指的是移动应用数据的上传和下载直接连接OSS,只有控制流连接自己的服务器。
在移动互联的时代,手机app上传的数据越来越多。作为开发者,您可以利用OSS处理各种数据存储需求,从而更加专注于自己的应用逻辑。
您可以通过此移动应用上传图片到OSS。上传的方法支持普通上传和断点续传上传。在网络环境差的情况下,推荐使用断点续传上传。您还可以利用图片处理服务,对要上传的图片进行缩略和加水印处理。示例应用的最终效果图如下:
实现步骤如下:
以下介绍应用服务器如何生成Token以及Android/iOS移动应用如何获取Token。
{ "AccessKeyID" : "", "AccessKeySecret" : "", "RoleArn" : "", "TokenExpireTime" : "900", "PolicyFile": "policy/all_policy.txt" }
代码示例中提供了三种最常用的Token权限文件,位于policy目录下面。分别是:
返回的数据格式解析如下:
//正确返回 { "StatusCode":200, "AccessKeyId":"STS.3p***dgagdasdg", "AccessKeySecret":"rpnwO9***tGdrddgsR2YrTtI", "SecurityToken":"CAES+wMIARKAAZhjH0EUOIhJMQBMjRywXq7MQ/cjLYg80Aho1ek0Jm63XMhr9Oc5s˙∂˙∂3qaPer8p1YaX1NTDiCFZWFkvlHf1pQhuxfKBc+mRR9KAbHUefqH+rdjZqjTF7p2m1wJXP8S6k+G2MpHrUe6TYBkJ43GhhTVFMuM3BZajY3VjZWOXBIODRIR1FKZjIiEjMzMzE0MjY0NzM5MTE4NjkxMSoLY2xpZGSSDgSDGAGESGTETqOio6c2RrLWRlbW8vKgoUYWNzOm9zczoqOio6c2RrLWRlbW9KEDExNDg5MzAxMDcyNDY4MThSBTI2ODQyWg9Bc3N1bWVkUm9sZVVzZXJgAGoSMzMzMTQyNjQ3MzkxMTg2OTExcglzZGstZGVtbzI=", "Expiration":"2017-12-12T07:49:09Z",
} //错误返回 { "StatusCode":500, "ErrorCode":"InvalidAccessKeyId.NotFound", "ErrorMessage":"Specified access key is not found." }
http://abc.com:8080
,将示例程序里面的应用服务器修改成上述地址。
OSS初始化的代码解析如下:
// 推荐使用OSSAuthCredentialsProvider,token过期后会自动刷新。 String stsServer = "应用服务器地址,例如http://abc.com:8080" OSSCredentialProvider credentialProvider = new OSSAuthCredentialsProvider(stsServer); //config ClientConfiguration conf = new ClientConfiguration();
conf.setConnectionTimeout(15 * 1000); // 连接超时时间,默认15秒 conf.setSocketTimeout(15 * 1000); // Socket超时时间,默认15秒 conf.setMaxConcurrentRequest(5); // 最大并发请求数,默认5个 conf.setMaxErrorRetry(2); // 失败后最大重试次数,默认2次 OSS oss = new OSSClient(getApplicationContext(), endpoint, credentialProvider, conf);
OSSClient * client;
...
// 推荐使用OSSAuthCredentialProvider,token过期后会自动刷新。
id<OSSCredentialProvider> credential = [[OSSAuthCredentialProvider alloc] initWithAuthServerUrl:@"应用服务器地址,例如http://abc.com:8080"];
client = [[OSSClient alloc] initWithEndpoint:endPoint credentialProvider:credential];
芜湖广丰软件有限公司(原中江网络),成立于2005年,经过10多年定制开发经验,积累了大量技术储备和定制开发经验,是一家集软件研发、互联网应用为一体的综合信息技术服务提供商。公司拥有核心的策划团队和专业的技术研发团队,致力于采用领先的信息技术,长期为涉及智慧园区/厂区/校园领域的各个企业提供快速、高效、安全的信息技术支持。公司立足智慧园区和智慧教育行业,通过软硬件的研发和互联网应用,疏通各企业间“端到端”的信息传输,灵活满足智慧园区和智慧教育企业间不同用户的需求,为其提供完善的信息化解决方案。
园区管理系统,提供智慧园区综合管理系统,智慧园区设计方案咨询,智慧园区管理系统、...