gpt4 book ai didi

iphone - 在同一 POST 中上传图像和其他数据

转载 作者:行者123 更新时间:2023-12-03 20:09:12 24 4
gpt4 key购买 nike

我想使用POST方法上传图片。我可以单独上传图片。但我想将它们与我需要发送的其他数据一起发布到服务器。谁能帮我。知道如何发帖

这是我发送数据的代码。除此之外,我还需要发送图像

postString = [NSString stringWithFormat:@"u=TuNmae&p=pass&o=onr&j=123&a=321&d=8765&t=123&at=need&image="];
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url1];
NSString *msgLength = [NSString stringWithFormat:@"%d", [postString length]];

[req addValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[req addValue:msgLength forHTTPHeaderField:@"Content-Length"];
[req setHTTPMethod:@"POST"];
[req setHTTPBody: [postString dataUsingEncoding:NSUTF8StringEncoding]];

NSData *returnData = [NSURLConnection sendSynchronousRequest:req returningResponse:nil error:nil];

webData = [[NSMutableData data] retain];
[webData appendData:returnData];
NSLog(@"attempt%@",webData);
NSString *webResult;
webResult = [[NSString alloc] initWithData:webData encoding:NSASCIIStringEncoding];

webResult = [webResult stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

NSLog(@"str %@",webResult);

我需要将图像插入到 postString 中。最后一个参数。

最佳答案

您必须将 enctype 表单属性设置为“multipart/form-data”

表单 enctype="multipart/form-data"

然后您可以在同一个文件中上传文件输入和其他文本隐藏输入表单并提交相同的内容。

在你的API中执行此操作


NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];


//file data
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fullPathToFile = [documentsDirectory stringByAppendingPathComponent:@"ImageFile.png"];
NSData *imageData = [[NSData alloc] initWithContentsOfFile:fullPathToFile];

关于iphone - 在同一 POST 中上传图像和其他数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5065990/

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