更换存储

This commit is contained in:
liyuhua
2024-03-25 15:28:15 +08:00
parent 6d450443d0
commit 348e2b14a4
9 changed files with 133 additions and 5 deletions

View File

@@ -4,12 +4,89 @@
//
// Created by GreenLand on 2022/2/23.
//
#import <QCloudCOSXML/QCloudCOSXML.h>
#import "UploadFile.h"
#import <Qiniu/QiniuSDK.h>
#import <AFNetworking.h>
#import "Api+Mine.h"
#import "UploadFileModel.h"
static UploadFile* manager;
@interface UploadFile()<QCloudSignatureProvider>
@property(nonatomic,strong) UploadFileModel *fileModel;
@end
@implementation UploadFile
+ (instancetype)share {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
manager = [[UploadFile alloc] init];
});
return manager;
}
-(void)initQCloud{
[Api getQCloudInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200){
UploadFileModel *fileModel = [UploadFileModel modelWithDictionary:data.data];
self.fileModel = fileModel;
QCloudServiceConfiguration* configuration = [QCloudServiceConfiguration new];
QCloudCOSXMLEndPoint* endpoint = [[QCloudCOSXMLEndPoint alloc] init];
endpoint.regionName = fileModel.region;
// 使 HTTPS
endpoint.useHTTPS = true;
configuration.endpoint = endpoint;
//
configuration.signatureProvider = self;
// COS
[QCloudCOSXMLService registerDefaultCOSXMLWithConfiguration:configuration];
[QCloudCOSTransferMangerService registerDefaultCOSTransferMangerWithConfiguration:
configuration];
}
}];
}
#pragma mark- QCloudSignatureProvider
- (void) signatureWithFields:(QCloudSignatureFields*)fileds
request:(QCloudBizHTTPRequest*)request
urlRequest:(NSMutableURLRequest*)urlRequst
compelete:(QCloudHTTPAuthentationContinueBlock)continueBlock
{
QCloudCredential* credential = [QCloudCredential new];
// SecretId
// sercret_id SecretId访https://console.cloud.tencent.com/cam/capi
credential.secretID = self.fileModel.secretId;
// SecretKey
// sercret_key SecretKey访https://console.cloud.tencent.com/cam/capi
credential.secretKey = self.fileModel.secretKey;
// Token
// 使token使使https://cloud.tencent.com/document/product/436/14048
credential.token = self.fileModel.sessionToken;
/** , (startTimeexpiredTime)
*/
credential.startDate = [NSDate dateWithTimeIntervalSince1970:self.fileModel.startTime]; //
credential.expirationDate = [NSDate dateWithTimeIntervalSince1970:self.fileModel.startTime];//
QCloudAuthentationV5Creator* creator = [[QCloudAuthentationV5Creator alloc]
initWithCredential:credential];
// urlRequst copymutableCopy
QCloudSignature *signature = [creator signatureForData:urlRequst];
continueBlock(signature, nil);
}
//zoneAs0
///
/// @param filePath