gpt4 book ai didi

ios - 上传图片时出现问题

转载 作者:行者123 更新时间:2023-12-01 16:33:40 24 4
gpt4 key购买 nike

步骤1 :在这里创建请求

NSMutableURLRequest *request1 = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST"
URLString:[NSString stringWithFormat:@"%@%@", API_MAIN_URL, IMAGE_UPLOAD]
parameters:param constructingBodyWithBlock:^(id formData) {

[formData appendPartWithFileURL:[NSURL fileURLWithPath:strImagePath]
name:@"sendimage"
fileName:[strImagePath lastPathComponent]
mimeType:@"image/png"
error:nil];
} error:nil];
[request1 setValue:authToken forHTTPHeaderField:@"Authorization"];

步骤2:在这里,我在给定位置创建流
[[AFHTTPRequestSerializer serializer] requestWithMultipartFormRequest:request1 
writingStreamContentsToFile:[NSURL fileURLWithPath:[strImagePath stringByDeletingPathExtension]]
completionHandler:^(NSError *error){

步骤3:在这里,我正在创建上传任务。
        ///here is file
NSProgress *progress = nil;
NSURLSessionUploadTask *uploadTask = [self.manager uploadTaskWithRequest:request1
fromFile:[NSURL fileURLWithPath:strImagePath]
progress:&progress
completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
NSLog(@"response : %@\n\n responseObject : %@\n\n error : %@", response, responseObject, error);

}];
[uploadTask resume];
}
}];
}

我的问题是在应用程序进入后台模式之前,我想使用Step:1和Step:2在给定位置写入所有请求 HTTPBody(HTTPStream),并将所有 NSArray写入File(在应用程序中)之后将所有请求保存到 HTTPStream中前景)是指我将显示图片准备上传。

然后我将在步骤3的帮助下开始创建后台任务:将请求传递给该请求,并将该请求存储到 NSArray中。
使用这种方法,我无法上传图像。

但是,如果我将所有步骤一并调用,那么它将把图像上传到服务器上,但是采用这种方法,我的应用程序应该在前台进行创建请求,因为我们需要在给定位置编写 HTTPBody

请帮助我解决这个问题,我从过去的2周开始就一直坚持。
我的应用程序需要在服务器上上传超过500张图像。

最佳答案

这样尝试

 NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:@"http://example.com/upload" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileURL:[NSURL fileURLWithPath:@"file://path/to/image.jpg"] name:@"file" fileName:@"filename.jpg" mimeType:@"image/jpeg" error:nil];
} error:nil];

AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
NSProgress *progress = nil;

NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithStreamedRequest:request progress:&progress completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
} else {
NSLog(@"%@ %@", response, responseObject);
}
}];

[uploadTask resume];

关于ios - 上传图片时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30251881/

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