项目中有一个主要的功能,就是上传图片,结结果移动真的是很奇怪,WiFi,联通,电信都没有问题的情况下,居然在移动下不行,真的是很头疼。不过好在最后是解决了

  项目的网络请求我是采用ASIHttpRequest,提交类型是直接提交文件上去的,后来采用data提交还是不行,把图片改小,又试了几种方法都不行的情况下果断百度,结果过只看到有人问没有人回答,真的很悲剧,好不容易找到个回答的,采用的是原生的网络编写方式,各种服务器连接,因为我知识浅薄,从没做过服务器,有点看不懂,而服务开发的同事,又不懂我的问题,研究了两天之后,还是放弃了那种做法(原帖的链接找不到了,找到了会放上来)。

  几次尝试之后实在不行,我不得不放弃了ASIHttpRequest,因为总所周知,虽然它很强大,但是因为已经停止维护了,随着以后iOS的发展还不知道能用多久,长痛不如短痛,就放弃了,随后对比了一下,选择了MKNetworkKit,不为别的,就为他那完美的自动缓存功能,结果试了一下,居然还是不行,我就惊慌了,这到底是怎么回事。随后又和服务器沟通了一下,好像服务器是没问题的,我这边也素手无策了,最后问题暂缓解决。

  随后我被借用到另一个开发组,不巧的是,还是有这个图片上传功能,硬伤呀,而且这个功能是软件的主要功能,一定要解决,做吧,想来想去,与其在旧问题上累死不如用新的方式解决一下,换个网络框架这次用AFNetworking。

  AFNetworking应该是现在苹果开发网络框架用的最多的了,最后的结果就是,用这个就轻松的成功,提交方式采用的data。因为新的项目服务器人员也换了,所以到底是AFNetworking强大,还是服务器的问题,因为时间比较紧,暂时没有深入研究,我现在也不是很好说,但是解决了,还是很开心,在这里先记上一笔。

说了一堆废话,献上小段代码以供参考:

NSData *imageData = UIImageJPEGRepresentation(imageDocument, 0.5);

ChumenlaHTTPClient *chu = [ChumenlaHTTPClient sharedChumenlaHTTPClient];

NSMutableURLRequest *request =  [chu multipartFormRequestWithMethod:@"POST"path:@"AddTopic.ashx"parameters:testDic constructingBodyWithBlock:^(id <AFMultipartFormData>formData)

{

[formData appendPartWithFileData:imageData name:[imageDictionary objectForKey:@"imageName"] fileName:[imageDictionary objectForKey:@"fileName"] mimeType:@"image/jpg"];

}];

AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request,NSHTTPURLResponse *response ,id JSON)

{

} failure:^(NSURLRequest *request,NSHTTPURLResponse *response,NSError *error,id JSON)

{

}];

[chu enqueueHTTPRequestOperation:operation];

  

iOS移动下上传图片失败解决 (上传多图,带其他参数)的更多相关文章

  1. ios系统下,html5拍照上传的压缩处理

    http://gokercebeci.com/dev/canvasresize 通过canvas和base64的处理方式实现大尺寸照片的压缩和上传 介绍: https://github.com/zev ...

  2. iOS开发网络篇—文件的上传

    iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代 ...

  3. iOS 开发http post 文件的上传

    iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代 ...

  4. 在ASP.NET MVC下实现单个图片上传, 客户端服务端双重限制图片大小和格式, 服务端裁剪图片

    在"MVC文件图片ajax上传轻量级解决方案,使用客户端JSAjaxFileUploader插件01-单文件上传"一文中,使用JSAjaxFileUploader这款插件实现了单文 ...

  5. 百度编辑器ueditor批量上传图片或者批量上传文件时,文件名称和内容不符合,错位问题

    百度编辑器ueditor批量上传附件时,上传后的文件和实际文件名称错误,比如实际是文件名“dongcoder.xls”,上传后可能就成了“懂客.xls”.原因就是,上传文件时是异步上传,同时进行,导致 ...

  6. 解决nginx上传模块nginx_upload_module传递GET参数

    解决nginx上传模块nginx_upload_module传递GET参数的方法总结 最近用户反映我们的系统只能上传50M大小的文件, 希望能够支持上传更大的文件. 很显然PHP无法轻易实现大文件上传 ...

  7. Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本

    说明:  1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是 ...

  8. vue-quill-editor富文本编辑器,上传图片自定义为借口上传

    vue-quill-editor富文本编辑器,上传图片自定义为借口上传 博客地址:https://blog.csdn.net/lyj2018gyq/article/details/82585194

  9. linux下常用FTP命令 上传下载文件【转】

    1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码 ...

随机推荐

  1. Monkey之环境搭建完全版

    图文版将在后期补充. 如果想要搭建好Monkey的测试环境,首先几个必要的步骤和环境不能少,分别是java相关环境.Android SDK环境,启动android虚拟机或连接真机.执行monkey测试 ...

  2. redis windows下的环境搭建

    先说下安装吧!感觉这东西跟mongodb差不多,安装和布置挺简单,下载地址:https://github.com/dmajkic/redis/downloads 下载下来的包里有两个,一个是32位的, ...

  3. maven私有库配置

    私有库的配置 协同开发过程中私有库可以为团队提升很大效率,之前我的私有库一直存在问题导致jar包导入异常.现在在这分享一下私有库配置的几个点,可能因为我们学校比较简陋所以配置的比较简单,欢迎大家补充 ...

  4. 如何使用R语言解决可恶的脏数据

    转自:http://shujuren.org/article/45.html 在数据分析过程中最头疼的应该是如何应付脏数据,脏数据的存在将会对后期的建模.挖掘等工作造成严重的错误,所以必须谨慎的处理那 ...

  5. EVA资料

    [史上最全EVA资料+原画+画集+设定集][共2266P=3.56GB] <ignore_js_op> <ignore_js_op> <ignore_js_op>  ...

  6. HDU-4527 小明系列故事——玩转十滴水 模拟

    题意:就是平时玩的十滴水游戏,游戏者拥有一定的水滴,能够滴在某些位置,如果一个点上的体积超过了4就会爆炸,向四周传递一个小水滴.该题就是要求模拟这个过程. 分析:这里有一个问题就是不能够使用递归来处理 ...

  7. sublime text3 快捷方式汇总

    sublime text. 用过的都给赞, 哈哈-- 下面是快捷方式汇总啦: 选择类: Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本. Alt+F3 选中文本按下快捷键,即可一次 ...

  8. stm32cube--通用定时器--产生pwm波

    看了通用定时器的资料,发现内容挺多,挺难看懂,现在还是先掌握使用方法,以后再多看几遍吧. ① ② ③生成mdk工程后,在main.c的while(1)前面加上HAL_TIM_PWM_Start(&am ...

  9. magic_quotes_gpc

    ini里面有这个magic_quotes_gpc设置,是为了防止忘记处理而和mysql有冲突,引起mysql的风险,于是,认为的加上\slash,但是我们在Php中获得值的时候,需要判断如果这个值为1 ...

  10. 如何让IE8的菜单栏调到最上方

    如何让IE8的菜单栏调到最上方 运行gpedit.msc,在"用户配置"/"管理模板"/"Windows Components"/" ...