This commit is contained in:
2026-01-15 18:16:56 +08:00
parent da62d4f411
commit 32c4138ae0
29 changed files with 1523 additions and 95 deletions

View File

@@ -323,6 +323,42 @@ autoShowBusinessError:YES
completion:completion];
}
- (NSURLSessionDataTask *)uploadFile:(NSString *)path
fileURL:(NSURL *)fileURL
name:(NSString *)name
mimeType:(NSString *)mimeType
parameters:(NSDictionary *)parameters
headers:(NSDictionary<NSString *, NSString *> *)headers
completion:(KBNetworkCompletion)completion {
if (!fileURL || !fileURL.isFileURL) {
if (completion) {
NSError *e = [NSError errorWithDomain:KBNetworkErrorDomain
code:KBNetworkErrorInvalidResponse
userInfo:@{NSLocalizedDescriptionKey: KBLocalized(@"Invalid file")}];
completion(nil, nil, e);
}
return nil;
}
NSError *readError = nil;
NSData *data = [NSData dataWithContentsOfURL:fileURL options:0 error:&readError];
if (readError || data.length == 0) {
if (completion) {
NSError *e = readError ?: [NSError errorWithDomain:KBNetworkErrorDomain
code:KBNetworkErrorInvalidResponse
userInfo:@{NSLocalizedDescriptionKey: KBLocalized(@"Empty file data")}];
completion(nil, nil, e);
}
return nil;
}
NSString *fileName = fileURL.lastPathComponent ?: @"upload.bin";
return [self uploadFile:path
fileData:data
fileName:fileName
mimeType:mimeType
headers:headers
completion:completion];
}
#pragma mark - Core