gpt4 book ai didi

ios - 将 HTTP Body 设置为 AFNetworking 而不是使用 native 请求

转载 作者:搜寻专家 更新时间:2023-11-01 05:37:46 26 4
gpt4 key购买 nike

我最近一直在尝试让 AFNetworking 像处理 native 请求一样工作,我一直在使用 AFNetworking 上传 POST 或 GET。但它从未正确上传我的图像。它总是上传到损坏的服务器,我已经在这个引用中解释了这个问题:Uploading image to server reached damaged using AFNetworking

我已经尝试将原生 NSURLConnection.sendSynchronousRequest 与 HTTP Body 一起使用,它已上传且未损坏。这段代码完全可以工作,但我在 AFNetworking 中需要它,因为它只支持 IOS 8 + 以及更多原因。

        let baseURL = ""
let selectedImage = self.userImage.image
let imageData = NSData(data: UIImageJPEGRepresentation(selectedImage!, 0.5)!)

let request = NSMutableURLRequest()
request.URL = NSURL(string: baseURL)
request.HTTPMethod = "POST"
request.addValue("image/jpeg", forHTTPHeaderField: "Content-Type")
let body = NSMutableData(data: imageData)
request.HTTPBody = body

do {
let responseData = try NSURLConnection.sendSynchronousRequest(request, returningResponse:nil)
let responseString = String(data: responseData, encoding: NSUTF8StringEncoding)

print("User image successfully uploaded navigating to home services")


} catch (let error as NSError) {
}

最佳答案

以下是 Objective-c 中的解决方案,也可以为 swift 复制相同的过程。为 AFHTTPRequestOperationManager 创建一个对象,如下所示。

 [[AFHTTPRequestOperationManager alloc] initWithBaseURL:@"www.google.com"];

现在用键值对定义 NSDictionary,这将是您请求主体的参数。

NSDictionary *parameters = @{
@"paramaname": value,
@"paramaname":value
};

现在,当调用 POST 请求时

 [self.manager POST:@"someMethodName" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSDictionary * responseDict = (NSDictionary *)responseObject;
NSLog(@"responseDict : %@",responseDict);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error : %@ code %d",error.localizedDescription,error.code);
}
}];

这是使用 AFNetworking 发送带有参数的 POST 请求的方法。

关于ios - 将 HTTP Body 设置为 AFNetworking 而不是使用 native 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34917739/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com