如何使用 AFNetworking 通过 Post 请求在服务器上发送 NSData?

Posted

技术标签:

【中文标题】如何使用 AFNetworking 通过 Post 请求在服务器上发送 NSData?【英文标题】:How to send NSData on server through Post request using AFNetworking? 【发布时间】:2015-07-27 08:43:11 【问题描述】:

我想使用AFNetworking 在服务器上发送数据。我想发送 NSData 而不是 json 参数。谁能建议我如何使用AFNetworking在服务器上发送NSData

【问题讨论】:

【参考方案1】:

你可以在AFHTTPRequestOperationManager使用这个方法

- (AFHTTPRequestOperation *)POST:(NSString *)URLString
                      parameters:(id)parameters
       constructingBodyWithBlock:(void (^)(id <AFMultipartFormData> formData))block
                         success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
                         failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure;

您将使用该方法的方式是:

[self POST:@"http://myurl.com" parameters:@ constructingBodyWithBlock:^(id<AFMultipartFormData> formData) 
    // attach the NSData to `formData`
 success:^(NSURLSessionDataTask *task, id responseObject) 
    // Handle Success
 failure:^(NSURLSessionDataTask *task, NSError *error) 
    // Handle Error
];

为了附加数据,您可以在AFMultipartFormData 协议中使用此方法

- (void)appendPartWithFormData:(NSData *)data
                          name:(NSString *)name;

【讨论】:

以上是关于如何使用 AFNetworking 通过 Post 请求在服务器上发送 NSData?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 POST 和 AFNetworking 以变量形式发送数据?

如何使用数组作为标头和 AFNetworking 进行 POST

如何使用 JSON 格式解析通过 AFNetworking 1.0 获得的响应

如何使用 AFNetworking 在 Objective C 中使用操作键进行 POST

AFNetworking 通过 HTTPS 发出 post 请求

如何使用 AFNetworking 查看 json POST 的错误?