阿里云网盘与相册中我想通过5G模块,怎么把相片上传到网盘?我的产品是拍照,自动上传,想通过5G模块,通过网络上传。
通过5G模块自动上传照片到阿里云网盘或者相册的实现步骤如下:
准备阿里云产品账号。购买阿里云网盘企业版或相册服务,获取对应的访问密钥和授权。
开发上传照片的应用程序。使用阿里云对应产品的SDK或API,集成上传功能模块。
在产品中集成5G模块。例如使用SIM7600E或SIM7000C等5G模块,获取网络连接能力。
拍照后调用上传模块。应用程序获取照片数据,通过5G网络连接调用阿里云上传接口上传文件。
配置上传策略。比如定时上传,上传完成返回处理结果等。
接收结果处理。成功则通知完成,失败则排查原因重试等。
后台管理。登录阿里云控制台查看已经上传的照片信息。
关键是:
选择阿里云产品线和相应开发资源
设备端实现拍照和5G网络连接
后台管理云端存储文件
上传文件的话直接用我们的客户端上传就可以了。个人使用还要能自动同步上传本地照片文件的话,建议使用阿里云盘吧,我们这里是企业网盘产品,我们还暂时不支持自动同步上传本地文件。此答案整理至钉群“网盘与相册服务企业版客户群“。
接入SDK
通过cocoapods引入PDS SDK,只需要在Podfile中加入
pod 'PDS_SDK'
然后执行命令pod update即可接入SDK
初始化SDK
使用SDK前提是您已经开通PDS服务, 并且在控制台创建了域实例。
PDSClientConfig *clientConfig = [[PDSClientConfig alloc] init];
clientConfig.userAgent = config.userAgent;//当前设备的UA
clientConfig.dbName = config.dbName;//数据库名称,可选
clientConfig.host = config.apiHost;//API Host,需要从控制台中获取
[PDSClientManager setupWithAccessToken:config.accessToken clientConfig:clientConfig];//accessToken是服务端通过accessKeyId和accessKeySecret获取以后下发给客户端的
直接通过照片ID上传文件
PDSUploadPhotoRequest *request = [[PDSUploadPhotoRequest alloc] initWithLocalIdentifier:localIdentifier
parentFileID:taskInfo.parentId
driveID:taskInfo.driveId
shareID:taskInfo.shareId
fileName:taskInfo.fileName];
uploadTask = [[PDSClientManager defaultClient].file uploadPhotoAsset:request taskIdentifier:taskInfo.taskId];
注意,这里创建的uploadTask是个局部变量,使用方需要自己持有对它的引用,不然这个对象被释放以后回调会出问题。
完成和进度回调
@weakify(self);
[uploadTask setResponseBlock:^(PDSFileMetadata *result, PDSRequestError *requestError, NSString *taskIdentifier) {
@strongify(self);
if (requestError) {//上传失败
//TODO 错误处理
} else {//上传成功,移除临时文件
[[PDSClientManager defaultClient].file cleanUploadTaskWithTaskIdentifier:taskIdentifier force:YES];
}
} queue:self.transferQueue];
[uploadTask setProgressBlock:^(int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) {
@strongify(self);
//TODO 进度回调
} queue:self.transferQueue];
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。