文件上传:(只能用POST请求)
由于原生的文件上传过于繁琐,不建议深究
- 其实文件上传的实质就是发送一个POST请求,根据要求设置好请求体然后发送就可以;
- 但是请求体的格式要求很高,需要一一对应,任何一处错误就会发送失败
1> 设置请求头:告诉服务器请求体里面内容的格式,文件参数
[request setValue:@"multipart/form-data; boundary=zhangdanfeng" forHTTPHeaderField:@"Content-Type"];
2>设置请求体:存放参数(文件参数和非文件参数)
这个过于复杂,建议直接使用AFN,参照AFN的使用那篇文章
3> 结束标记:参数结束的标志
[body appendData:[@"--zhangdanfeng--\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
4> MIMETYPE的获取:
- (NSString *)MIMEType:(NSURL *)url{
// NSURL *url = [[NSBundle mainBundle] URLForResource:@"01.txt" withExtension:nil];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSURLResponse *response = nil;
[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
return response.MIMEType;
}
网友评论