完整版的iphone(XCODE),oc   http上传请求协议,一个完整的DEMO,提供给大家学习
//保存图片
- (void)saveImage
{
_alertview= [[UIAlertViewalloc]initWithTitle:nil
message:@"正在上传照片..."
delegate:self
cancelButtonTitle:nil
otherButtonTitles:nil];
//加载一个旋转的等待图标
activityView= [[UIActivityIndicatorViewalloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
activityView.frame=CGRectMake(120.f,48.0f,37.0f,37.0f);//加入等待图标
[_alertviewaddSubview:activityView];
[activityViewstartAnimating];
[activityViewrelease];
[_alertviewshow];
NSURL*url = [NSURLURLWithString:[NSStringstringWithFormat:@"http://xx.xx.xx/xinupload.jsp?id=%@",[ABInfogetUserID]]];//请求服务器路径。
m_imageData=UIImagePNGRepresentation(myImageView.image);
//m_imageData = UIImageJPEGRepresentation(myImageView.image, 1.0);
NSData*postDateBoundary = [[NSStringstringWithFormat:@"-----------------------------7da36b1b4045c\r\n"]dataUsingEncoding:NSUTF8StringEncoding];
NSData*postDateBoundaryEnd = [[NSStringstringWithFormat:@"\r\n-----------------------------7da36b1b4045c--\r\n"]dataUsingEncoding:NSUTF8StringEncoding];
NSData*postDateHead = [[NSStringstringWithFormat:
@"Content-Disposition: form-data; name="File1\"; filename="a1.jpg"\r\nContent-Type: image/pjpeg\r\n\r\n"]
dataUsingEncoding:NSUTF8StringEncoding];
NSMutableData*postData = [NSMutableDatadataWithCapacity:[m_imageDatalength] ];
[postData appendData:postDateBoundary];
[postData appendData:postDateHead];
[postData appendData:m_imageData];
[postData appendData:postDateBoundaryEnd];
NSMutableURLRequest*urlRequest = [NSMutableURLRequestrequestWithURL:url];
[urlRequest setHTTPMethod:@"POST"];
[urlRequestsetValue: [NSStringstringWithFormat:@"%@\r\n"
,@"image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-silverlight, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*"] forHTTPHeaderField:@"Accept"];
[urlRequestsetValue:[NSStringstringWithFormat:@"%@\r\n",@"zh-CN"] forHTTPHeaderField:@"Accept-Language"];
[urlRequestsetValue:[NSStringstringWithFormat:@"multipart/form-data; boundary=---------------------------7da36b1b4045c"]   forHTTPHeaderField:@"Content-Type"];
NSString *length=[NSString stringWithFormat:@"%d",[m_imageData length] + [postDateBoundary length] + [postDateHead length]+ [postDateBoundaryEnd length]];
[urlRequestsetValue:[NSStringstringWithFormat:@"%@\r\n\r\n",length]forHTTPHeaderField:@"Content-Length"];
[urlRequestsetValue:[NSStringstringWithFormat:@"%@\r\n\r\n",@"keep-alive"]forHTTPHeaderField:@"Connection"];
[urlRequest setHTTPBody:postData];
NSURLConnection*theConnection = [[NSURLConnectionalloc]initWithRequest:urlRequestdelegate:self];
if (theConnection)
{
uploadDidSucceed=NO;
_webData= [[NSMutableDatadata]retain];//初始化一个数据流
}
}
// 开始WebServices API
- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
[_webData setLength: 0];
}
// 接受数据API
- (void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data
{
[_webData appendData:data];
}
//连接结束
- (void)connectionDidFinishLoading:(NSURLConnection*)connection
{
uploadDidSucceed=NO;
[activityViewstopAnimating];
[_alertviewdismissWithClickedButtonIndex:0animated:YES];
[_alertviewrelease];
UIAlertView*alert = [[UIAlertViewalloc]initWithTitle:@"照片"
message:@"设置成功"
delegate:self
cancelButtonTitle:nil
otherButtonTitles:CONFIRM_TITLE, nil];
[alert show];
[alert release];
}
****这个是一个完整的上传组件,只要提供图片数据,剩下的拷贝粘贴就可以了 

转载于:https://www.cnblogs.com/top5/archive/2012/03/16/2402323.html

iphone完整版的http上传请求协议相关推荐

  1. 解决百度网盘上传请求中或上传慢的方法

    百度网盘正常情况下是超快的,不应该是 "上传请求中" 或 几 k 的速度. 原因是因为 DNS 解释问题.尤其是海外用户.例如,使用 DNS 8.8.8.8 PS C:\WINDO ...

  2. 发布房源(三)03——配置ImagePicker-图片上传 请求图片路径-headers请求头的写法

    发布房源--配置ImagePicker-图片上传 & 请求图片路径-headers请求头的写法 配置ImagePicker-图片上传 地址:https://mobile.ant.design/ ...

  3. 阿里云OSS上传请求403问题的完美解决方案及uni.uploadFile h5上传文件失败完美解决方案

    在使用阿里云OSS服务时,会用到跨域AJAX上传,上传时报403错误,之前遇到过此类问题并成功解决了,但时间长了遗忘,因此记录下来以备后续学习了解ajax跨域上传OSS. ajax跨域上传首先会发送o ...

  4. 第十一章 文件上传应用协议

    文件上传应用协议 1.更新路由器操作系统的操作流程介绍 Flash IOS VRP RAM 运行配置文件(华为) NVRAM 启动配置文件(思科) FTP 文件传输协议 SFTP(更牛逼)安全文件传输 ...

  5. elementui 上传请求头_element-ui上传组件多个文件同时上传请求一次后台接口(前后端代码版)...

    记录时间 2020年10月27日 22点38分 前言 在使用element-ui上传组件上传多个文件时,出现多个文件对应着多个请求,比如你要上传3个文件,那么将请求3个后台接口,这样会无形之中增加了后 ...

  6. 完整版断点续传、秒传,支持超大大大文件_支持重定义文件名和路径

    需求: 支持大文件批量上传(20G)和下载,同时需要保证上传期间用户电脑不出现卡死等体验: 内网百兆网络上传速度为12MB/S 服务器内存占用低 支持文件夹上传,文件夹中的文件数量达到1万个以上,且包 ...

  7. python表单提交文件_python3做multipart/form-data上传请求

    http协议本身的原始方法不支持multipart/form-data请求,这个请求由原始方法演变而来的.multipart/form-data的基础方法是post,也就是说是由post方法来组合实现 ...

  8. java http 上传文件_java利用httpClient实现后台文件上传请求

    之前写过基于html和js的文件上传方法java 用springMVC 和HttpServletRequest 两种实现文件上传的方法和httpClient后台执行普通post请求的文章java通过h ...

  9. http文件上传请求在ie浏览器中被挂起,在chrome中出现Provisional headers are shown

    最近项目在运行过程中用户们又反应了一个问题,说会偶尔出现图片上传失败的情况.然后将那些失败的图片拿过来进行验证,果然问题出现了,用ie浏览器在上传附件时,会显示这个请求挂起了.用谷歌浏览器在上传附件时 ...

最新文章

  1. buffersize越大越好吗_手机运行内存真的越大越好吗?看完长知识了
  2. python3.6使用教程-如何使用python编程《python3.6 教程》
  3. L2正则没有想象那么好?可能是“权重尺度偏移”惹的祸
  4. 从操作系统的PV操作理解JAVA的synchronized同步方法,同步代码块实现,及比较
  5. 提高网站的性能----回流与重绘
  6. mysql主库从库binlog_MySQL主库主动推送binlog到从库
  7. poj 2983 Is the Information Reliable?
  8. [机器学习]推荐系统介绍
  9. java实现SPFA算法
  10. 搜索RaySource资源的8大方法
  11. ∀x(P(x) → Q(x))和∀xP(x) → ∀xQ(x) 的区别
  12. RS-485串口通讯测试及四路集线器功能探究
  13. dialog沉浸式状态栏android,Dialog全屏,去掉状态栏的方式
  14. 【时间纷飞】死人,死人
  15. python微信投票平台_Python——开发一个自动化微信投票器【附代码实例方法】
  16. 13步设计出一个ITSM系统
  17. 理性分析:那些吃蝙蝠的人,根本动机是什么?
  18. 小程序源码:全新动态视频壁纸下载支持多种分类短视频另外也有静态壁纸
  19. zigbee芯片方案和模组选型
  20. The world与Mathon2的比较

热门文章

  1. 情绪调节的自适应_情绪定律:你的情绪决定你的一切
  2. WinExec、ShellExecute用法详解
  3. 大脚导入配置选择哪个文件_IntelliJ IDEA 最常用配置(收藏篇)
  4. 反转链表的golang实现
  5. Struts2_day04--课程介绍_Struts2拦截器概述底层原理_重要的概念
  6. 为Office365增加密码过期自动提醒功能
  7. Oracle 11g新特性之--只读表(read only table)
  8. rtmp的URL里面mp3:和mp4:是啥意思
  9. nagios学习手札
  10. Linux系统普通用户切换省略输入用户名密码