【问题标题】:AFNetworking upload data too longAFNetworking 上传数据过长
【发布时间】:2021-11-25 18:41:41
【问题描述】:

我正在使用 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];

感谢您的帮助

【问题讨论】:

  • 简单问题:您的 5 秒视频,它的字节大小是多少?即使压缩了,大小是多少?
  • 您好,5 秒视频的字节大小为 9328919 字节

标签: ios xcode afnetworking


【解决方案1】:

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

【讨论】:

  • 感谢您的回答,我尝试删除调度块,但没有任何改变:/
猜你喜欢
  • 2016-01-04
  • 2012-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多