目录:[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向远程服务器上传图片...相关推荐

  1. [Xcode 实际操作]八、网络与多线程-(19)使用RunLoop使PerformSelector方法延迟动作的执行...

    目录:[Swift]Xcode实际操作 本文将演示使用RunLoop使PerformSelector方法延迟动作的执行. 在项目导航区,打开视图控制器的代码文件[ViewController.swif ...

  2. [Xcode 实际操作]八、网络与多线程-(25)实现ShareSdk的社会化分享功能

    目录:[Swift]Xcode实际操作 完成开发包的安装和配置之后,本文将演示社会化分享功能的具体开发步骤. 在项目导航区,打开并编辑程序代理文件[AppDelegate.swift] 1 impor ...

  3. 【Pycharm教程】代码调试、git操作、连接远程服务器

    文章目录 零.Pycharm的安装 0.1 pycharm安装和pojie 0.2 pycharm的代码调试 一. Pycharm上传本地代码到github 1.1 pycharm连接github 1 ...

  4. [Xcode 实际操作]七、文件与数据-(17)解析JSON文档

    目录:[Swift]Xcode实际操作 本文将演示如何解析JSON文档. 项目中已添加一份JSON文档:menu.json 1 { 2 "menu": 3 { 4 "id ...

  5. iOS开发网络篇—多线程断点下载

    iOS开发网络篇-多线程断点下载 说明:本文介绍多线程断点下载.项目中使用了苹果自带的类,实现了同时开启多条线程下载一个较大的文件.因为实现过程较为复杂,所以下面贴出完整的代码. 实现思路:下载开始, ...

  6. [Xcode 实际操作]四、常用控件-(15)MKMapView加载简单视图

    目录:[Swift]Xcode实际操作 本文将演示地图视图的使用方法. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 //首先往 ...

  7. [Xcode 实际操作]二、视图与手势-(12)UITapGestureRecognizer手势之双击

    目录:[Swift]Xcode实际操作 本文将演示使用视图的双击手势,完成视图的交互功能. 1 import UIKit 2 3 class ViewController: UIViewControl ...

  8. [Xcode 实际操作]七、文件与数据-(2)创建文件夹

    目录:[Swift]Xcode实际操作 本文将演示如何创建文件夹. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 3 class ...

  9. [Xcode 实际操作]六、媒体与动画-(3)使用CoreImage框架设置图片的单色效果

    目录:[Swift]Xcode实际操作 本文将演示如何使用图片框架,将图片转换成单色样式. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIK ...

最新文章

  1. 高频PCB设计事项一
  2. 近似装箱问题(三种联机算法实现)
  3. Java connot reduce_Java8: Reduce方法
  4. phpcms如何修改数据库图片地址?域名变更后图片附件路径只能手动修改数据库更新?
  5. ThingJS平台制作第一人称视角下的巡更效果
  6. python发送qq消息linux_python 调用qq邮箱 linux 执行每天自动发送邮件
  7. 基于块分割及CNN的文档矫正与光照消除方法 (有源码和数据)
  8. python服务器搭建nginx_从0开始在腾讯云服务器上搭建python3+flask+uwsgi+nginx服务器...
  9. Multilingual预训练的那些套路
  10. VB2010的时间表示
  11. baguetteBox.js - 简单易用的 lightbox 插件
  12. 走进量化投资奇妙的模型世界
  13. win7计算机启动遇到错误怎么办,W7电脑系统出现Windows错误恢复该怎么办
  14. 心理测试单机小软件,十个有趣的心理小测试 好玩的心理测试题
  15. MacBook系统升级问题
  16. android 文件管理器
  17. Python进阶——循环对象
  18. android 系统下拉菜单,【MotoX评测】原生Android5.0下拉菜单和基础设置_Moto X_手机评测-中关村在线...
  19. java 类的方法设计_设计问题:Java类与单方法OK?
  20. 何为音视频流媒体,音视频基础概念(建议收藏)

热门文章

  1. c语言找最长串指针改错,2013年计算机二级C语言上机试题及解析35
  2. PoseNet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization
  3. 3DShader之法线贴图(normal mapping)
  4. 输入两个正整数m和n,用java求其最大公约数和最小公倍数
  5. 如何做相册_苹果手机相册不想让人看怎么办?看这里教你加密
  6. centos 启动一个redis_linux环境下安装部署redis服务器
  7. 干货!全网最全一套目标检测、卷积神经网络和OpenCV学习资料(教程/PPT/代码)...
  8. php连接mysql执行sql语句_php+mysql 连接服务器、数据库以及执行SQL语句的类库
  9. 树莓派 rfid_技术 | 对恶意树莓派设备的取证分析
  10. flutter框架优缺点_小程序框架全面测评