以下代码为上传文件所用代码,简单方便,搞了好久,终于知道这么简单的方式来上传。
其它类库也就是把这几句代码封装的乱七八糟得,让你老久搞不懂原理。不就是在body上面加点字符串,body下面加点字符串,作为body来传嘛,真是,搞那么麻烦。
还可以在头里面加个边界字符串,这个body也加边界字符串,不加还省事一些。
NSString *xmlString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
NSString *multipartString = @"Content-Disposition: form-data; name=\"fileUpload\"; file name =\"Aerial Lift Inspection Form Copy.xml\"\r\nContent-Type: text/xml\r\n\r\n";
NSString *httpBody = [NSString stringWithFormat:@"%@%@",multipartString,xmlString];
NSData *bodyData = [httpBody dataUsingEncoding:NSUTF8StringEncoding];
NSString *bodyLen = [NSString stringWithFormat:@"%u",bodyData.length];
[theRequest setHTTPBody:bodyData];
以上代码从WireShark里面提取出来,是Advanced Rest Client 发送文件的字符串,基本其它的工具也差不多。