iOS移动下上传图片失败解决 (上传多图,带其他参数)
项目中有一个主要的功能,就是上传图片,结结果移动真的是很奇怪,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移动下上传图片失败解决 (上传多图,带其他参数)的更多相关文章
- ios系统下,html5拍照上传的压缩处理
http://gokercebeci.com/dev/canvasresize 通过canvas和base64的处理方式实现大尺寸照片的压缩和上传 介绍: https://github.com/zev ...
- iOS开发网络篇—文件的上传
iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代 ...
- iOS 开发http post 文件的上传
iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代 ...
- 在ASP.NET MVC下实现单个图片上传, 客户端服务端双重限制图片大小和格式, 服务端裁剪图片
在"MVC文件图片ajax上传轻量级解决方案,使用客户端JSAjaxFileUploader插件01-单文件上传"一文中,使用JSAjaxFileUploader这款插件实现了单文 ...
- 百度编辑器ueditor批量上传图片或者批量上传文件时,文件名称和内容不符合,错位问题
百度编辑器ueditor批量上传附件时,上传后的文件和实际文件名称错误,比如实际是文件名“dongcoder.xls”,上传后可能就成了“懂客.xls”.原因就是,上传文件时是异步上传,同时进行,导致 ...
- 解决nginx上传模块nginx_upload_module传递GET参数
解决nginx上传模块nginx_upload_module传递GET参数的方法总结 最近用户反映我们的系统只能上传50M大小的文件, 希望能够支持上传更大的文件. 很显然PHP无法轻易实现大文件上传 ...
- Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本
说明: 1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是 ...
- vue-quill-editor富文本编辑器,上传图片自定义为借口上传
vue-quill-editor富文本编辑器,上传图片自定义为借口上传 博客地址:https://blog.csdn.net/lyj2018gyq/article/details/82585194
- linux下常用FTP命令 上传下载文件【转】
1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码 ...
随机推荐
- 解除SQL对组件"Ad Hoc Distributed Queries"的"STATEMENT'OpenRowset OpenDatasource"的访问
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为 ...
- python-操作csv文件
import csv lv,er=[],[] #读 with open('date.csv') as mycsv: reader=csv.DictReader(mycsv) for row in re ...
- Intel+Ardruino 101 翻转时点灯
/* =============================================== Example sketch for CurieIMU library for Intel(R ...
- fgets函数
打开文件 fopen("需要打开的路径") 然后使用fgets函数读取行 #include <stdio.h> #include <stdlib.h> #i ...
- C#单独启动进程的几种方式
本文实例讲述了C#启动进程的几种常用方法.分享给大家供大家参考.具体如下: 1.启动子进程,不等待子进程结束 private void simpleRun_Click(object sender, S ...
- linux内核3.4基于wakeup_source的autosleep机制分析
点击打开链接 一:wakeup_source简介: linux 3.4内核PM使用了wakeup_source来保持唤醒状态,也就是keep awake.之前android一直是基于Linux加入了w ...
- 发布网站详细步骤(.Net)
(i)打开需要发布的网站 右键需要发布的项目 点击下拉框新建配置文件,输入配置文件名称,点击确定,下一步 发布方法选文件系统,目标位置:项目的根目录 配置选Release 点击发布 (ii) 打开ii ...
- (原创)IP协议Header部分的Checksum计算方法
- window svn链接
我学会怎么建立window SVN服务器了 今天,终于学会怎么自己搭建SVN服务了,以前一直用的都是公司的SVN服务,没接触过,觉得很神秘,曾经我一个同事弄了好几天,也没搭成,对我打击挺大的:( 觉得 ...
- spring aop搭建redis缓存
SpringAOP与Redis搭建缓存 近期项目查询数据库太慢,持久层也没有开启二级缓存,现希望采用Redis作为缓存.为了不改写原来代码,在此采用AOP+Redis实现. 目前由于项目需要,只需要做 ...