从HTML上传图片到AFNetWorking上传图片代码浅析_html/css_WEB-ITnose
首先先从Web上传图片开始说起。贴段代码解释一下吧。
Upload Picture.
分析一下上面的代码,其实没有什么可以说的懂html的都知道。是一个提交表单。要点:method=”post” :设置HTTP请求方式为POST请求enctype=”multipart/form-data” :这个是一个需要了解的地方multipart/form-data这个值用于支持向服务器发送二进制数据。这个大家是不是看着感觉似曾相识的感觉呢? AFMultipartFormData协议,这个肯定不陌生了吧。其实AFMultipartFormData协议的作用就等价于multipart/form-data这个了。刚好提到AFMultipartFormData这个协议,那么下面我贴上另外的AFNetWorking上传图片的代码吧。大家都知道,由于IOS不能像Web那样通过提交表单来上传数据,那么我们只能通过HTTP请求来提交数据。代码如下
UIImage *image = [UIImage imageNamed:@"测试图片.jpg"]; NSData *data = UIImageJPEGRepresentation(image, 1.0); AFHTTPSessionManager *session = [AFHTTPSessionManager manager]; [session POST:@"图片上传接口" parameters:nil constructingBodyWithBlock:^(id_Nonnull formData){ [formData appendPartWithFileData :data name:@"fileData" fileName:@"图片名称.jpg" mimeType:@"image/jpeg"]; } progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject){ } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error){ }];
到这里大家一定会发现有点神似并且会有一个共同的地方。就是共同都用到了fileData这个参数。没有错,代码先做了个POST请求,然后使用此协议起到了类似Web提交表单中图片的作用。POST:parameters:constructingBodyWithBlock: 此方法为AFNetWorking中自带方法。百度查一下即可。
前面我介绍了那么多前段的操作,下面我们来看下服务器端怎么来接收图片。以PHP后台为例子了。简单的写了个PHP上传图片的后台。
'success' ); echo json_encode($array); }else{ $array = array( 'code' => 'fail' ); echo json_encode($array); }?>
大家是不是又发现了什么?$_FILES[‘fileData’]没错,就是这个了用来获取表单中name为fileData的二进制图片数据。获取到这张图片数据之后将图片保存至服务器。至此为图片上传至服务器的全部流程了。
可能写的不是那么好,不是那么有价值。但是个人感觉还是很实用,希望不喜勿喷。
上一篇: 跪求php5.3版本获取不到计算机的信息
下一篇: 8 个必备的PHP功能开发_PHP教程
推荐阅读
-
Html5上传图片 移动端、PC端通用代码
-
Html5 FileReader实现即时上传图片功能实例代码
-
Html5上传图片 移动端、PC端通用代码
-
html5使用Drag事件编辑器拖拽上传图片的示例代码
-
Html5 FileReader实现即时上传图片功能实例代码
-
html5以及jQuery实现本地图片上传前的预览代码实例讲解
-
java+html+js上传图片到服务器对应文件夹中
-
紧急 网站上传服务器后查看不能显示图片_html/css_WEB-ITnose
-
PHP 上传图片到七牛云以后,用HTML的IMG标签在scr处填上七牛云图片地址不能显示,可是在浏览器直接输入地址却能访问
-
PHP从页面上传图片到数据库的示例代码分享