ios用AFN进行文件上传的示例代码
App中个人信息页面,通常都会有设置头像的功能.当用户从相册中选择图像或者拍摄照片成功后,一般都需要将照片发送到服务器进行保存,以方便用户在其他设备或者再次登陆后,能再次从服务器请求到设置的照片.项目中通过AFN,实现起来很方便.
- (void)upload{ NSData *imageData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"mine.jpeg" ofType:nil]]; NSDictionary* URLParameters = @{//设置请求头 }; NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"mine.jpeg" ofType:nil]]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; NSURLResponse *repsonse = nil; [NSURLConnection sendSynchronousRequest:request returningResponse:&repsonse error:nil]; NSString *mimeType = repsonse.MIMEType; NSLog(@"%@", repsonse.MIMEType); [[AFHTTPSessionManager manager] POST:@"上传网址" parameters:URLParameters constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) { [formData appendPartWithFileData:imageData name:@"file" fileName:@"mine.jpeg" mimeType:mimeType]; } progress:^(NSProgress * _Nonnull uploadProgress) { // } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { //处理成功 } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { //处理失败 }]; }
mine.jpeg是在项目存在的图片,编译时会以NSBundle的形式存在.首先通过NSURLConnection同步发送请求获取MIMEType.然后使用AFN,可以将需要上传的imageData通过方法appendPartWithFileData:放在请求体中,然后传入已经获得的MIMEType,就能顺利实现上传了.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
详解IOS中文件路径判断是文件还是文件夹
详解IOS中文件路径判断是文件还是文件夹 方法1 + (BOOL)isDirectory:(NSString *)filePath { BOOL isDirectory = NO; [[NSFileManager defaultManager] fileExistsAtPath:filePath isDirectory:&isDirectory]; return isDirectory; } 方法2 + (BOOL)isDirectory:(NSString *)filePath { NSNum
-
iOS利用AFNetworking3.0——实现文件断点下载
0.导入框架准备工作 1. 将AFNetworking3.0+框架程序拖拽进项目 2. 或使用Cocopod 导入AFNetworking3.0+ 3. 引入 #import "AFNetworking.h" 1.UI准备工作 A. 定义一个全局的 NSURLSessionDownloadTask:下载管理句柄 由其负责所有的网络操作请求 @interface ViewController () { // 下载句柄 NSURLSessionDownloadTask *_downloa
-
iOS利用AFNetworking实现文件上传的示例代码
0.导入框架准备工作 1. 将框架程序拖拽进项目 2. 添加iOS框架引用 –SystemConfiguration.framework –MobileCoreServices.framework 3. 引入 #import "AFNetworking.h" 4. 修改xxx-Prefix.pch文件 #import <MobileCoreServices/MobileCoreServices.h> #import <SystemConfiguration/Sys
-
浅谈iOS关于头文件的导入问题
关于import和@class的使用问题 一.@class的出现可以适当减少编译时间,提高效率. 现在假设有两个类,一个是Teacher类,一个是Students类. Teacher类 #import <Foundation/Foundation.h> #import "Students.h" @interface Teacher : NSObject @property (copy,nonatomic)NSString *firstName; @property (cop
-
简单谈谈C++ 头文件系列之(iosfwd)
简介 输入输出历来都是语言的重要部分,在C++中,该库也是占据了相当大的一部分. C++的输入输出库是其遵循面向对象设计的结果,并结合了泛型编程. 以下是这些库类的关系图(箭头标示继承,白框表示摸板,黑框表示摸板实例): iosfwd声明 该文件的全称是"input output stream forward",即输入输出流前向声明. 顾名思义,该头文件的主要目的就是为用户提供所有输入输出类的声明. 当你在某些只需要这些类声明,而不需要定义的地方 (例如:自定义的头文件中),就可以简单
-
Vue axios 中提交表单数据(含上传文件)
我们经常使用表单来上传数据,以及上传文件,那么怎么在表单提交成功的时候接受服务器的响应,并作出相应操作. 当然使用一般jQuery上传对象的格式也是可以的,如果使用传统的表单上传呢? <!DOCTYPE html> <html lang="en"> <head> <title></title> <meta charset="UTF-8"> <meta name="viewport
-
Vue开发中整合axios的文件整理
前言 大家在vue日常开发中,不可避免要整合axios,这里简单记录一下整合中的文件,方便以后使用查找.下面来看看详细的介绍. 整合方法 整合文件axios.js import axios from 'axios'; // 适配vue-resource const instance = axios.create(); instance.interceptors.request.use(config=> { //Serialize.decode(config); return config; })
-
ios用AFN进行文件上传的示例代码
App中个人信息页面,通常都会有设置头像的功能.当用户从相册中选择图像或者拍摄照片成功后,一般都需要将照片发送到服务器进行保存,以方便用户在其他设备或者再次登陆后,能再次从服务器请求到设置的照片.项目中通过AFN,实现起来很方便. - (void)upload{ NSData *imageData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"mine.jpeg" ofType:nil
-
vue中实现图片和文件上传的示例代码
html页面 <input type="file" value="" id="file" @change='onUpload'>//注意不能带括号 js代码 methods: { //上传图片 onUpload(e){ var formData = new FormData(); f ormData.append('file', e.target.files[0]); formData.append('type', 'test');
-
Java实现一个简单的文件上传案例示例代码
Java实现一个简单的文件上传案例 实现流程: 1.客户端从硬盘读取文件数据到程序中 2.客户端输出流,写出文件到服务端 3.服务端输出流,读取文件数据到服务端中 4.输出流,写出文件数据到服务器硬盘中 下面上代码 上传单个文件 服务器端 package FileUpload; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.Serve
-
SpringBoot整合腾讯云COS对象存储实现文件上传的示例代码
目录 1.开通腾讯云对象存储服务 2.创建存储桶 3.密钥管理,新建密钥 4.yml配置密钥.COS信息 5.COSConfig配置类 6.COS文件上传工具类 7.Controller测试上传接口: 8.PostMan接口调用 9.浏览器预览效果 企业级项目开发中都会有文件.图片.视频等文件上传并能够访问的场景,对于初学者Demo可能会直接存储在应用服务器上:对于传统项目可能会单独搭建FastDFS.MinIO等文件服务来实现存储,这种方案可能对于企业成本较小,但缺点也是很多,例如:1.增加技
-
Vue+NodeJS实现大文件上传的示例代码
目录 整体思路 项目演示 前端界面 文件切片 hash计算 查询切片状态 切片上传(断点续传) 文件总体上传进度 合并文件 优化 请求并发数控制 hash值计算优化 常见的文件上传方式可能就是new一个FormData,把文件append进去以后post给后端就可以了.但如果采用这种方式来上传大文件就很容易产生上传超时的问题,而且一旦失败还得从新开始,在漫长的等待过程中用户还不能刷新浏览器,不然前功尽弃.因此这类问题一般都是通过切片上传. 整体思路 将文件切成多个小文件 hash计算,需要计算一
-
GO语言实现文件上传的示例代码
目录 前言 文件上传 表单操作 服务端操作 流程实现 小结 前言 最近在写一个文件上传的功能,现在来进行整理总结一下go语言如何上传文件的,本文主要分享一下golang实现文件上传的流程和具体代码,供大家参考,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助. 文件上传 表单操作 要使表单能够上传文件,需要添加form的enctype属性enctype="multipart/form-data",upload.html代码如下: <html> <head> &
-
java接收ios文件上传的示例代码
本文实例为大家分享了java如何接收ios文件上传的具体代码,供大家参考,具体内容如下 ios Multipart/form-data POST请求java后台spring接口一直出错,搞了两天,终于解决了,积累下来 package com.xx.controller; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Iterator
-
springMVC实现前台带进度条文件上传的示例代码
项目框架采用spring+hibernate+springMVC如果上传文件不想使用flash那么你可以采用HTML5;截图前段模块是bootstarp框架;不废话直接来代码;spring-mvc配置文件;效果截图如下: 详细实现如下: 1.mvc-config.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/s
-
struts2实现多文件上传的示例代码
开发环境JDK1.8 eclipse struts2-2.3.31 1.创建web项目 2.导入struts2核心jar包 3.更改web.xml配置文件(只要配置好struts2的Filter就好) 4.创建src/struts.xml文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD
随机推荐
- ajax快速解决参数过长无法提交成功的问题
- 深入分析JSONP跨域的原理
- Linux多线程环境下 关于进程线程终止函数总结
- python过滤字符串中不属于指定集合中字符的类实例
- js获取select默认选中的Option并不是当前选中值
- php提交表单发送邮件的方法
- 修改php.ini实现Mysql导入数据库文件最大限制的修改方法
- asp.net音频转换之.amr转.mp3(利用七牛转换法)
- 给ListBox添加双击事件示例代码
- 一小偷类!!有兴趣的可以看看
- sqlserver CONVERT()函数用法小结
- jQuery EasyUI API 中文文档 - Pagination分页
- jQuery获取json后使用zy_tmpl生成下拉菜单
- Node.js实现批量去除BOM文件头
- shell.application对象的漏洞描述
- 通过特性(attribute)为枚举添加更多信息示例
- 基于Eclipse中SVN图标不显示的解决方法
- C#操作 JSON方法汇总
- spring boot 下支付宝的开箱既用环境
- RedHat6.5/CentOS6.5安装Mysql5.7.20的教程详解