网络 -文件上传
2015-06-21 22:04
573 查看
一、文件上传的步骤 1.设置请求头 * 目的:告诉服务器请求体里面的内容并非普通的参数,而是包含了文件参数 [request setValue:@"multipart/form-data; boundary=heima" forHTTPHeaderField:@"Content-Type"]; 2.设置请求体 * 作用:存放参数(文件参数和非文件参数) 1> 非文件参数 [body appendData:HMEncode(@"--heima\r\n")]; [body appendData:HMEncode(@"Content-Disposition: form-data; name=\"username\"\r\n")]; [body appendData:HMEncode(@"\r\n")]; [body appendData:HMEncode(@"张三")]; [body appendData:HMEncode(@"\r\n")]; 2> 文件参数 [body appendData:HMEncode(@"--heima\r\n")]; [body appendData:HMEncode(@"Content-Disposition: form-data; name=\"file\"; filename=\"test123.png\"\r\n")]; [body appendData:HMEncode(@"Content-Type: image/png\r\n")]; [body appendData:HMEncode(@"\r\n")]; [body appendData:imageData]; [body appendData:HMEncode(@"\r\n")]; 3> 结束标记 :参数结束的标记 [body appendData:HMEncode(@"--heima--\r\n")]; 二、文件的MIMEType 1.百度搜索 2.查找服务器下面的某个xml文件 apache-tomcat-6.0.41\conf\web.xml 3.加载文件时通过Reponse获得 - (NSString *)MIMEType:(NSURL *)url { // 1.创建一个请求 NSURLRequest *request = [NSURLRequest requestWithURL:url]; // 2.发送请求(返回响应) NSURLResponse *response = nil; [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil]; // 3.获得MIMEType return response.MIMEType; } 4.通过C语言函数 + (NSString *)mimeTypeForFileAtPath:(NSString *)path { if (![[NSFileManager alloc] init] fileExistsAtPath:path]) { return nil; } CFStringRef UTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (CFStringRef)[path pathExtension], NULL); CFStringRef MIMEType = UTTypeCopyPreferredTagWithClass (UTI, kUTTagClassMIMEType); CFRelease(UTI); if (!MIMEType) { return @"application/octet-stream"; } return NSMakeCollectable(MIMEType); }
相关文章推荐
- Android:使用Socket网络通信时异常:java.net.SocketException: socket closed
- 网络配置命令
- 使用nntool神经网络工具箱建立单层感知器
- 网络-监听 解析
- 网络-大文件下载(0621)
- nginx sendfile tcp_nopush tcp_nodelay参数解释
- gameUnity 0.15 beta 网络游戏框架
- Android模拟 HTTP multipart/form-data 请求协议信息实现图片上传
- POJ 3204 Ikki's Story I - Road Reconstruction 残余网络
- TCP三次握手和四次挥手协议
- 利用随机前馈神经网络生成图像观察网络复杂度
- TCP/IP协议族-----8、地址解析协议(ARP)
- 开源高性能网络库Libevent的简介
- http协议
- JAVA InputStream. 对网络数据帧自动分片
- 网络IO之阻塞、非阻塞、同步、异步总结【转】
- tcpdump导致无法上网
- Servlet介绍
- http-equiv
- IP地址子网掩码