This commit is contained in:
启星
2025-12-22 10:16:05 +08:00
parent ba4fd658a9
commit 0fcff85625
205 changed files with 26298 additions and 13203 deletions

View File

@@ -27,6 +27,75 @@
}
return self;
}
-(void)uploadFile:(id)file withObjectKey:(NSString *)key path:(NSString *)path complete:(void (^)(NSString * _Nonnull, QXCOSUploadImageState))complete {
[[QXRequset shareInstance] getWithUrl:[NSString stringWithFormat:@"%@%@",ServerUrl,QXGetCosTempKeys] parameters:@{} needCache:NO success:^(id responseObject) {
QXCOSUploadModel *model = [QXCOSUploadModel yy_modelWithJSON:responseObject[@"data"]];
if (![model.region isExist] || ![model.bucket isExist] || ![model.credentials.sessionToken isExist] || ![model.credentials.tmpSecretId isExist] || ![model.credentials.tmpSecretKey isExist]) {
QXLOG(@"服务端配置错误");
complete(@"",QXCOSUploadImageFailed);
return;
}
NSString *region = model.region;
QCloudServiceConfiguration* configuration = [QCloudServiceConfiguration new];
QCloudCOSXMLEndPoint* endpoint = [[QCloudCOSXMLEndPoint alloc] init];
endpoint.regionName = region;
// 使 HTTPS
endpoint.useHTTPS = true;
configuration.endpoint = endpoint;
// COS
[QCloudCOSXMLService registerDefaultCOSXMLWithConfiguration:configuration];
[QCloudCOSTransferMangerService registerDefaultCOSTransferMangerWithConfiguration:configuration];
NSString *bucket = model.bucket;
QCloudCOSXMLUploadObjectRequest* put = [QCloudCOSXMLUploadObjectRequest new];
QCloudCredential * credential = [QCloudCredential new];
credential.secretID = model.credentials.tmpSecretId;
credential.secretKey = model.credentials.tmpSecretKey;
credential.token = model.credentials.sessionToken;
//
put.credential = credential;
put.bucket = bucket;
put.object = [NSString stringWithFormat:@"%@%@",path,key];
if ([file isKindOfClass:[UIImage class]]) {
NSData *data = UIImageJPEGRepresentation(file, 0.3);
put.body = data;
}else if ([file isKindOfClass:[NSData class]]){
put.body = file;
}else if ([file isKindOfClass:[NSURL class]]){
put.body = (NSURL *)file;
}
//
[put setSendProcessBlock:^(int64_t bytesSent,
int64_t totalBytesSent,
int64_t totalBytesExpectedToSend) {
// bytesSent
// totalBytesSent
// totalBytesExpectedToSend
}];
//
[put setFinishBlock:^(QCloudUploadObjectResult *result, NSError *error) {
if (!error) {
NSLog(@"upload object success!");
if (complete) {
complete(result.location ,QXCOSUploadImageSuccess);
}
} else {
NSLog(@"upload object failed, error: %@" , error);
if (complete) {
complete(@"",QXCOSUploadImageFailed);
}
}
}];
[[QCloudCOSTransferMangerService defaultCOSTransferManager] UploadObject:put];
} fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) {
}];
}
-(void)audioUploadFile:(id)file withObjectKey:(NSString *)key complete:(void (^)(NSString * fileUrl, QXCOSUploadImageState state))complete{
[[QXRequset shareInstance] getWithUrl:[NSString stringWithFormat:@"%@%@",ServerUrl,QXGetCosTempKeys] parameters:@{} needCache:NO success:^(id responseObject) {