[Xcode 实际操作]八、网络与多线程-(17)使用网址会话对象URLSession向远程服务器上传图片...
目录:[Swift]Xcode实际操作
本文将演示如何通过网址会话对象URLSession向远程服务器上传图片。
网址会话对象URLSession具有在后台上传和下载、暂停和恢复网络操作、丰富的代理模式等优点。
在项目导航区,打开视图控制器的代码文件【ViewController.swift】
1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib. 8 9 //创建一个网址对象,作为上传图片的接口地址 10 let url = URL(string: "https://www.cnblogs.com/strengthen/yourUploadingURL") 11 //创建一个网络请求对象 12 let request = URLRequest(url: url!) 13 //网址会话URLSession在2013年发布,苹果对它的定位是作为旧的网络请求接口的替代者。 14 //这里获得网址会话的单例对象 15 let session = URLSession.shared 16 17 //创建一个字符串,作为等待上传的图片路径 18 let image = NSHomeDirectory() + "/Documents/yourImage.png" 19 //将图片内容转换为二进制数据 20 let imageData = try? Data(contentsOf: URL(fileURLWithPath: image)) 21 22 //网址会话单例对象提供了三种类型的网络请求服务。 23 //1.数据任务 24 //2.上传任务 25 //3.下载任务 26 //此处创建一个上传任务的网络请求 27 let task = session.uploadTask(with: request, 28 from: imageData, 29 completionHandler: {(NSData, response:URLResponse?, error:Error?) -> Void in 30 //上传结束之后,判断错误信息是否存在, 31 //在控制台输出日志信息。 32 print("Uploading Finished") 33 }) 34 35 //任务创建后,调用resume方法开始工作。 36 task.resume() 37 } 38 39 override func didReceiveMemoryWarning() { 40 super.didReceiveMemoryWarning() 41 // Dispose of any resources that can be recreated. 42 } 43 }
转载于:https://www.cnblogs.com/strengthen/p/10063446.html
[Xcode 实际操作]八、网络与多线程-(17)使用网址会话对象URLSession向远程服务器上传图片...相关推荐
- [Xcode 实际操作]八、网络与多线程-(19)使用RunLoop使PerformSelector方法延迟动作的执行...
目录:[Swift]Xcode实际操作 本文将演示使用RunLoop使PerformSelector方法延迟动作的执行. 在项目导航区,打开视图控制器的代码文件[ViewController.swif ...
- [Xcode 实际操作]八、网络与多线程-(25)实现ShareSdk的社会化分享功能
目录:[Swift]Xcode实际操作 完成开发包的安装和配置之后,本文将演示社会化分享功能的具体开发步骤. 在项目导航区,打开并编辑程序代理文件[AppDelegate.swift] 1 impor ...
- 【Pycharm教程】代码调试、git操作、连接远程服务器
文章目录 零.Pycharm的安装 0.1 pycharm安装和pojie 0.2 pycharm的代码调试 一. Pycharm上传本地代码到github 1.1 pycharm连接github 1 ...
- [Xcode 实际操作]七、文件与数据-(17)解析JSON文档
目录:[Swift]Xcode实际操作 本文将演示如何解析JSON文档. 项目中已添加一份JSON文档:menu.json 1 { 2 "menu": 3 { 4 "id ...
- iOS开发网络篇—多线程断点下载
iOS开发网络篇-多线程断点下载 说明:本文介绍多线程断点下载.项目中使用了苹果自带的类,实现了同时开启多条线程下载一个较大的文件.因为实现过程较为复杂,所以下面贴出完整的代码. 实现思路:下载开始, ...
- [Xcode 实际操作]四、常用控件-(15)MKMapView加载简单视图
目录:[Swift]Xcode实际操作 本文将演示地图视图的使用方法. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 //首先往 ...
- [Xcode 实际操作]二、视图与手势-(12)UITapGestureRecognizer手势之双击
目录:[Swift]Xcode实际操作 本文将演示使用视图的双击手势,完成视图的交互功能. 1 import UIKit 2 3 class ViewController: UIViewControl ...
- [Xcode 实际操作]七、文件与数据-(2)创建文件夹
目录:[Swift]Xcode实际操作 本文将演示如何创建文件夹. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 3 class ...
- [Xcode 实际操作]六、媒体与动画-(3)使用CoreImage框架设置图片的单色效果
目录:[Swift]Xcode实际操作 本文将演示如何使用图片框架,将图片转换成单色样式. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIK ...
最新文章
- 高频PCB设计事项一
- 近似装箱问题(三种联机算法实现)
- Java connot reduce_Java8: Reduce方法
- phpcms如何修改数据库图片地址?域名变更后图片附件路径只能手动修改数据库更新?
- ThingJS平台制作第一人称视角下的巡更效果
- python发送qq消息linux_python 调用qq邮箱 linux 执行每天自动发送邮件
- 基于块分割及CNN的文档矫正与光照消除方法 (有源码和数据)
- python服务器搭建nginx_从0开始在腾讯云服务器上搭建python3+flask+uwsgi+nginx服务器...
- Multilingual预训练的那些套路
- VB2010的时间表示
- baguetteBox.js - 简单易用的 lightbox 插件
- 走进量化投资奇妙的模型世界
- win7计算机启动遇到错误怎么办,W7电脑系统出现Windows错误恢复该怎么办
- 心理测试单机小软件,十个有趣的心理小测试 好玩的心理测试题
- MacBook系统升级问题
- android 文件管理器
- Python进阶——循环对象
- android 系统下拉菜单,【MotoX评测】原生Android5.0下拉菜单和基础设置_Moto X_手机评测-中关村在线...
- java 类的方法设计_设计问题:Java类与单方法OK?
- 何为音视频流媒体,音视频基础概念(建议收藏)
热门文章
- c语言找最长串指针改错,2013年计算机二级C语言上机试题及解析35
- PoseNet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization
- 3DShader之法线贴图(normal mapping)
- 输入两个正整数m和n,用java求其最大公约数和最小公倍数
- 如何做相册_苹果手机相册不想让人看怎么办?看这里教你加密
- centos 启动一个redis_linux环境下安装部署redis服务器
- 干货!全网最全一套目标检测、卷积神经网络和OpenCV学习资料(教程/PPT/代码)...
- php连接mysql执行sql语句_php+mysql 连接服务器、数据库以及执行SQL语句的类库
- 树莓派 rfid_技术 | 对恶意树莓派设备的取证分析
- flutter框架优缺点_小程序框架全面测评