我正在使用NSMutableURLRequest使用SOAP API将参数上传到服务器,并且工作正常。
static NSString *URLString = @"http://www.myURL";
NSMutableURLRequest *request =
[NSMutableURLRequest requestWithURL:[NSURL URLString]];
[request addValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request setHTTPMethod:@"POST"];
[request addValue:@"http://..." forHTTPHeaderField:@"SOAPAction"];
NSString *name = @"John";
NSString *parameters = [NSString stringWithFormat:
@"<s:Envelope xmlns:s=\"http://..../\">\n"
"<s:Body >\n"
"<name>%@</name>\n"
"</s:Body>\n"
"</s:Envelope>\n", name];
[request setHTTPBody:[parameters dataUsingEncoding:NSUTF8StringEncoding]];
_myConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
现在我想发送一个文本文件(附件)以及参数。
有人可以帮忙吗?
答案 0 :(得分:1)
您好您可以将文件转换为NSDATA
然后转换为BASE64
字符串并将其作为参数添加到您的请求正文中,然后在后端将BASE64
字符串转换为{{1}并将其另存为文本文件。
<强>编码
Binary Data
的链接
只需添加一个参数
NSString *str=[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"file.txt"];
NSData *data = [NSData dataWithContentsOfFile:str];
NSString *base64String = [data base64EncodedStringWithOptions:0];
NSLog(@"%@", base64String);