开发者社区> 问答> 正文

阿里云网盘与相册中我想通过5G模块,怎么把相片上传到网盘?

阿里云网盘与相册中我想通过5G模块,怎么把相片上传到网盘?我的产品是拍照,自动上传,想通过5G模块,通过网络上传。

展开
收起
十一0204 2023-08-15 22:54:35 121 0
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    通过5G模块自动上传照片到阿里云网盘或者相册的实现步骤如下:

    准备阿里云产品账号。购买阿里云网盘企业版或相册服务,获取对应的访问密钥和授权。

    开发上传照片的应用程序。使用阿里云对应产品的SDK或API,集成上传功能模块。

    在产品中集成5G模块。例如使用SIM7600E或SIM7000C等5G模块,获取网络连接能力。

    拍照后调用上传模块。应用程序获取照片数据,通过5G网络连接调用阿里云上传接口上传文件。

    配置上传策略。比如定时上传,上传完成返回处理结果等。

    接收结果处理。成功则通知完成,失败则排查原因重试等。

    后台管理。登录阿里云控制台查看已经上传的照片信息。

    关键是:

    选择阿里云产品线和相应开发资源

    设备端实现拍照和5G网络连接

    后台管理云端存储文件

    2023-08-16 20:43:06
    赞同 展开评论 打赏
  • 意中人就是我呀!

    上传文件的话直接用我们的客户端上传就可以了。个人使用还要能自动同步上传本地照片文件的话,建议使用阿里云盘吧,我们这里是企业网盘产品,我们还暂时不支持自动同步上传本地文件。此答案整理至钉群“网盘与相册服务企业版客户群“。

    2023-08-16 07:57:45
    赞同 展开评论 打赏
  • 接入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];
    
    2023-08-16 08:06:16
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云云原生 Serverless 技术实践营西安站材料合集 立即下载
阿里云产品十一月刊来啦! 立即下载
阿里云产品安全基线白皮书 立即下载