在开发过程中我们可能会需要把IOS上传到java服务器。
IOS端
首先我们来观察下在form表单中上传文件到服务中http header中的内容。
红色框里面是我们需要的内容。
再观察wireshark中所发送的data的内容
然后我们根据上文中的内容为需要发送的文件的data数据中添加必要的内容。
模仿下面红色框的格式。
定义data:注意需要完全按照wireshark中的格式来,一定要带上”\r\n”
格式:
–boundary
Content-Disposition:form-data;name=”表单控件名称”;filename=”上传文件名称”
Content-Type:文件MIME Types
文件二进制数据;
—boundary–
//构造Content-Type
NSMutableData *uData = [NSMutableData data];
//Content-Type head
NSString *strTop = [NSString stringWithFormat:@"------%@\r\nContent-Disposition: form-data; name=\"file1\"; filename=\"%@\"\r\nContent-Type: %@\r\n\r\n",BODUNDARY_STRING,fileName,[self mimeType:fileName]];
//Content_Type foot
NSString *strBottom = [NSString stringWithFormat:@"\r\n------%@--\r\n",BODUNDARY_STRING];
//文件数据
NSString *filePath = [[NSBundle mainBundle] pathForResource:fileName ofType:nil];
NSData *uploadData = [NSData dataWithContentsOfFile:filePath];
if (!uploadData) {
NSLog(@&