AFNetworking上传数据过长



我正在使用AFNetworking 3.0,我试图将文件发送到我的服务器,我的代码工作得很好,但是发送文件很长,特别是当我试图发送视频时。

我压缩了视频质量,它有点快,但是要发送一个5秒的视频,需要15-20秒。

我想知道是否有可能提高发送文件的速度。

这是我的代码:

NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:@"urlOfServer" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData:videoData name:@"fileName" fileName:@"filename.mp4" mimeType:@"video/mp4"];
} error:nil];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
NSURLSessionUploadTask *uploadTask;
uploadTask = [manager
uploadTaskWithStreamedRequest:request
progress:^(NSProgress * _Nonnull uploadProgress) {
dispatch_async(dispatch_get_main_queue(), ^{
//Update the progress view
NSLog(@"PERCENTAGE UPLOADED %f",uploadProgress.fractionCompleted);
});
}
completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
if (error) {
NSLog(@"Error: %@", error);
} else {
NSLog(@"%@ %@", response, responseObject);
}
}];
[uploadTask resume];

谢谢你的帮助

由于您只写入调试控制台以报告进度,并且您不更改任何UI元素,因此不需要dispatch_get_main_queue。试着删除它,看看它是否对性能有影响。

最新更新