项目中有一个主要的功能,就是上传图片,结结果移动真的是很奇怪,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. 161221、bootstrap table 实例

    bootstrap table 封装了一套完善的数据表格组件,把下面的代码复制一下估计你需要的基本功能都有了,没有的再看看手册对比着我给的实例也能很快的熟悉了 客户端 <!DOCTYPE htm ...

  2. ubuntu下gcc、g++和gfortran版本切换

    第一步:用 which gcc.which g++和which gfortran查看位置,我的显示结果为:/usr/bin/gcc:/usr/bin/g++和/usr/bin/gfortran 第二部 ...

  3. 关于file的上传文件

    http://blog.csdn.net/wclxyn/article/details/7090575/

  4. spring schedule

    spring-scheduler.xml文件内容如下: <?xml version="1.0" encoding="UTF-8"?><bean ...

  5. QT笔记之不规则窗口的实现

    QT实现的不规则窗口,是根据图片的形状显示 1.去标题栏 2.设置窗口背景为透明色 3.最后给窗口设置背景色 注:背景图为镂空的 格式为.png 图片资源下载:http://pan.baidu.com ...

  6. iOS 推送

    1,推送已至,点通知栏: a)若App在UIApplicationStateActive(活动)状态,调用 //接收到推送消息 - (void)application:(UIApplication * ...

  7. hadoop2.0初识1.1

    1.伪分布式hdfs文件系统的搭建(单节点文件系统) 1.1.根据上节的讲解,配置主机映射.jdk和解压hadoop压缩包 1.2.配置namenode 在/opt/modules/hadoop-2. ...

  8. vs2012编译Qwt

    主题:vs2012编译Qwt ------------------------------------------------------------------------- 参照网络地址: htt ...

  9. 前端开发流程之(线上)绝对地址(图片+css+js)

    重要提醒:前端写完-----发邮件通知项目组 1:写好的前段资源包上传到SVN上之后,相关的图片.CSS.js文件要换成线上地址给后台开发. 2:图片-----压缩(https://tinypng.c ...

  10. git diff patch

    如何生成patch:修改一个地方,然后git diff > xxx.patch 就会生成一个patch文件,这里的关键似乎是, 源文件的某个模块的版本要和线上发布的最新版本要一致,这样patch ...