网络 -文件上传
来源:互联网 发布:淘宝开茶叶店 编辑:程序博客网 时间:2024/04/27 22:28
一、文件上传的步骤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")];二、文件的MIMEType1.百度搜索2.查找服务器下面的某个xml文件apache-tomcat-6.0.41\conf\web.xml3.加载文件时通过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);}
0 0
- 网络编程--文件上传
- 网络 -文件上传
- Android:网络:上传文件
- Java网络编程,上传文件
- Android:网络:文件断点上传
- c#网络共享上传文件
- ExtJS 文件上传 网络资料 1
- 网络编程_TCP协议的文件上传
- java网络编程--socket上传文件
- 网络编程(TCP上传图片文件)
- android网络访问,以及上传文件
- java网络上传文件小例子
- 网络请求,封装文件上传操作
- 黑马程序员---网络编程之文件上传
- iOS 网络编程 AFN 上传文件
- Android:网络:采用FTP上传文件
- IOS学习开发网络篇:文件上传
- AFN上传文件和检测网络状态
- struts 2 上传文件的位置
- POJ 1502 MPI Maelstrom (简单最短路,多种算法均可)
- java基础—IO流——转换流的操作
- 轻松搞定面试中的二叉树题目
- JFreeChart—输出组合图表
- 网络 -文件上传
- [Leetcode.python] 002. Add Two Numbers
- android 网络编程之网络通信几种方式实例分享
- C#写入和读出文本文件
- JS中冒号的作用
- hadoop 2.5.2 完全分布式集群环境搭建 (1)
- Handler,MessageQueue Loop 和Message的原理解析
- Modbus 协议简介
- Object-C 中拒绝使用==判断两个对象相等