在OC代码中使用AFNetworking库进行raw上传,可以按照以下步骤进行:

  1. 首先,确保已经导入AFNetworking库。可以通过CocoaPods或手动将库添加到项目中。

  2. 创建一个AFHTTPSessionManager对象,用于管理上传请求。

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  1. 设置请求的Content-Type为"application/octet-stream",即raw格式。
manager.requestSerializer = [AFHTTPRequestSerializer serializer];
[manager.requestSerializer setValue:@"application/octet-stream" forHTTPHeaderField:@"Content-Type"];
  1. 使用POST方法发送上传请求,并设置请求体为待上传的数据。
NSData *uploadData = [NSData dataWithContentsOfFile:@"path_to_file"];
[manager POST:@"upload_url" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
    [formData appendPartWithFileData:uploadData name:@"file" fileName:@"filename" mimeType:@"application/octet-stream"];
} progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
    NSLog(@"Upload success");
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    NSLog(@"Upload failure: %@", error);
}];

在上述代码中,需要将"upload_url"替换为实际的上传接口地址,"path_to_file"替换为待上传文件的路径,"filename"替换为文件在服务器上保存的名称。

  1. 可以通过设置progress参数来监听上传进度。
[manager POST:@"upload_url" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
    [formData appendPartWithFileData:uploadData name:@"file" fileName:@"filename" mimeType:@"application/octet-stream"];
} progress:^(NSProgress * _Nonnull uploadProgress) {
    NSLog(@"Upload progress: %.2f%%", uploadProgress.fractionCompleted * 100);
} success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
    NSLog(@"Upload success");
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    NSLog(@"Upload failure: %@", error);
}];

通过以上步骤,就可以在OC代码中使用AFNetworking库进行raw上传

Object AF 使用raw上传OC代码使用AF

原文地址: https://www.cveoy.top/t/topic/iiVu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录