解决了语音上传到问题,接下来要解决下载播放问题
This commit is contained in:
126
Pods/Qiniu/QiniuSDK/Storage/QNBaseUpload.h
generated
Normal file
126
Pods/Qiniu/QiniuSDK/Storage/QNBaseUpload.h
generated
Normal file
@@ -0,0 +1,126 @@
|
||||
//
|
||||
// QNBaseUpload.h
|
||||
// QiniuSDK
|
||||
//
|
||||
// Created by WorkSpace_Sun on 2020/4/19.
|
||||
// Copyright © 2020 Qiniu. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "QNConfiguration.h"
|
||||
#import "QNCrc32.h"
|
||||
#import "QNRecorderDelegate.h"
|
||||
#import "QNUpToken.h"
|
||||
#import "QNUrlSafeBase64.h"
|
||||
#import "QNAsyncRun.h"
|
||||
#import "QNUploadManager.h"
|
||||
#import "QNUploadOption.h"
|
||||
#import "QNZone.h"
|
||||
#import "QNUploadSource.h"
|
||||
#import "QNUploadRequestMetrics.h"
|
||||
|
||||
extern NSString *const QNUploadUpTypeForm;
|
||||
extern NSString *const QNUploadUpTypeResumableV1;
|
||||
extern NSString *const QNUploadUpTypeResumableV2;
|
||||
|
||||
typedef void (^QNUpTaskCompletionHandler)(QNResponseInfo *info, NSString *key, QNUploadTaskMetrics *metrics, NSDictionary *resp);
|
||||
|
||||
@interface QNBaseUpload : NSObject
|
||||
|
||||
@property (nonatomic, copy, readonly) NSString *upType;
|
||||
@property (nonatomic, copy, readonly) NSString *key;
|
||||
@property (nonatomic, copy, readonly) NSString *fileName;
|
||||
@property (nonatomic, strong, readonly) NSData *data;
|
||||
@property (nonatomic, strong, readonly) id <QNUploadSource> uploadSource;
|
||||
@property (nonatomic, strong, readonly) QNUpToken *token;
|
||||
@property (nonatomic, strong, readonly) QNUploadOption *option;
|
||||
@property (nonatomic, strong, readonly) QNConfiguration *config;
|
||||
@property (nonatomic, strong, readonly) id <QNRecorderDelegate> recorder;
|
||||
@property (nonatomic, copy, readonly) NSString *recorderKey;
|
||||
@property (nonatomic, strong, readonly) QNUpTaskCompletionHandler completionHandler;
|
||||
|
||||
@property (nonatomic, strong, readonly) QNUploadRegionRequestMetrics *currentRegionRequestMetrics;
|
||||
@property (nonatomic, strong, readonly) QNUploadTaskMetrics *metrics;
|
||||
|
||||
|
||||
//MARK:-- 构造函数
|
||||
|
||||
/// file构造函数
|
||||
/// @param uploadSource 文件源
|
||||
/// @param key 上传key
|
||||
/// @param token 上传token
|
||||
/// @param option 上传option
|
||||
/// @param config 上传config
|
||||
/// @param recorder 断点续传记录信息
|
||||
/// @param recorderKey 断电上传信息保存的key值,需确保唯一性
|
||||
/// @param completionHandler 上传完成回调
|
||||
- (instancetype)initWithSource:(id<QNUploadSource>)uploadSource
|
||||
key:(NSString *)key
|
||||
token:(QNUpToken *)token
|
||||
option:(QNUploadOption *)option
|
||||
configuration:(QNConfiguration *)config
|
||||
recorder:(id<QNRecorderDelegate>)recorder
|
||||
recorderKey:(NSString *)recorderKey
|
||||
completionHandler:(QNUpTaskCompletionHandler)completionHandler;
|
||||
|
||||
/// data 构造函数
|
||||
/// @param data 上传data流
|
||||
/// @param key 上传key
|
||||
/// @param fileName 上传fileName
|
||||
/// @param token 上传token
|
||||
/// @param option 上传option
|
||||
/// @param config 上传config
|
||||
/// @param completionHandler 上传完成回调
|
||||
- (instancetype)initWithData:(NSData *)data
|
||||
key:(NSString *)key
|
||||
fileName:(NSString *)fileName
|
||||
token:(QNUpToken *)token
|
||||
option:(QNUploadOption *)option
|
||||
configuration:(QNConfiguration *)config
|
||||
completionHandler:(QNUpTaskCompletionHandler)completionHandler;
|
||||
|
||||
/// 初始化数据
|
||||
- (void)initData;
|
||||
|
||||
//MARK: -- 上传
|
||||
|
||||
/// 开始上传流程
|
||||
- (void)run;
|
||||
|
||||
/// 准备上传
|
||||
- (int)prepareToUpload;
|
||||
|
||||
/// 重新加载上传数据
|
||||
- (BOOL)reloadUploadInfo;
|
||||
|
||||
/// 开始上传
|
||||
- (void)startToUpload;
|
||||
|
||||
/// 切换区域
|
||||
- (BOOL)switchRegionAndUpload;
|
||||
// 根据错误信息进行切换region并上传,return:是否切换region并上传
|
||||
- (BOOL)switchRegionAndUploadIfNeededWithErrorResponse:(QNResponseInfo *)errorResponseInfo;
|
||||
|
||||
/// 上传结束调用回调方法,在上传结束时调用,该方法内部会调用回调,已通知上层上传结束
|
||||
/// @param info 上传返回信息
|
||||
/// @param response 上传字典信息
|
||||
- (void)complete:(QNResponseInfo *)info
|
||||
response:(NSDictionary *)response;
|
||||
|
||||
//MARK: -- 机房管理
|
||||
|
||||
/// 在区域列表头部插入一个区域
|
||||
- (void)insertRegionAtFirst:(id <QNUploadRegion>)region;
|
||||
/// 切换区域
|
||||
- (BOOL)switchRegion;
|
||||
/// 获取目标区域
|
||||
- (id <QNUploadRegion>)getTargetRegion;
|
||||
/// 获取当前区域
|
||||
- (id <QNUploadRegion>)getCurrentRegion;
|
||||
|
||||
//MARK: -- upLog
|
||||
|
||||
// 一个上传流程可能会发起多个上传操作(如:上传多个分片),每个上传操作均是以一个Region的host做重试操作
|
||||
- (void)addRegionRequestMetricsOfOneFlow:(QNUploadRegionRequestMetrics *)metrics;
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user