首先在info.plist中声明需要使用的隐私权限

Privacy - Photo Library Additions Usage Description
APP想访问您的相册来保存图片或视频

let urlString = "http://cloud.video.taobao.com/play/u/1/p/1/e/6/t/1/211339392677.mp4"
VideoDownloadManager.shared.startDownload(videoURL: urlString)

下载保存视频

import Foundationclass VideoDownloadManager: UIViewController {static let shared = VideoDownloadManager()var inDownload = falseoverride func viewDidLoad() {super.viewDidLoad()}func startDownload(videoURL: String) {if inDownload == true {AlertHUD.showText("有视频正在下载中...")return}let session = URLSession.init(configuration: URLSessionConfiguration.default, delegate: self, delegateQueue: OperationQueue.main)let downloadTask = session.downloadTask(with: URL(string: videoURL)!)downloadTask.resume()inDownload = trueAlertHUD.showText("视频保存中...")}}extension VideoDownloadManager: URLSessionDelegate, URLSessionDownloadDelegate {func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) {let cache = NSSearchPathForDirectoriesInDomains(.cachesDirectory, .userDomainMask, true).lastlet file: String = cache?.appending(downloadTask.response?.suggestedFilename ?? "") ?? ""do {try FileManager.default.moveItem(at: location, to: URL.init(fileURLWithPath: file))} catch let error {print(error)}let videoCompatible = UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(file)if videoCompatible {UISaveVideoAtPathToSavedPhotosAlbum(file, self, #selector(didFinishSavingVideo(videoPath:error:contextInfo:)), nil)} else {AlertHUD.showText("该视频无法保存至相册")}}@objc private func didFinishSavingVideo(videoPath: String, error: NSError?, contextInfo: UnsafeMutableRawPointer?) {inDownload = falseif error != nil {AlertHUD.showText("保存视频失败")} else {            AlertHUD.showText("视频已保存")}}func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) {//let progress = totalBytesWritten / (double)totalBytesExpectedToWrite}}

[Swift]下载保存视频相关推荐

  1. android 下载保存视频到本地相册刷新 机型适配问题

    android 下载保存视频到本地相册刷新 机型适配问题 android 下载保存视频到本地相册刷新问题 一般我们保存视频文件到本地 使用一下方法扫描到相册,通知相册更新 MediaScannerCo ...

  2. 一个微信小程序下载保存视频的模块,支持进度显示

    封装好的代码,代码量很少但调用很方便,有完整的事件监听,将它保存为 saveFileUtil.js 其实代码还是偷懒了,比如 wx.downloadFile 里面只有 success 监听,没有 fa ...

  3. 视频号直播下载技巧;一键下载保存视频号的直播和视频

    大家好今天给大家分享一个下载视频号实时直播以及视频的方法:操作简单! 使用这个"通用视频下载器"就可以轻松下载. 注意: 1.软件下载好,运行应用程序的时候,一定要"右键 ...

  4. fopen如何保存西里尔文文件名_如何下载微信视频号的视频?

    下载视频号的视频内容,只需3步!详情请看下文教程 -- 微信视频号目前支持发布最长1分钟的视频,以及最多9张的图片.即短视频+图片的作品内容展示形式. 由于视频号的短视频内容无法像抖音.快手一样,保存 ...

  5. 优酷下载的视频保存在哪里

    打开我们客户端软件,进入首页,点击右上角的菜单图标 优酷下载的视频保存在哪里?如何修改保存位置? 02. 找到列表中的设置选项,点击进入 优酷下载的视频保存在哪里?如何修改保存位置? 03. 进入设置 ...

  6. sipjs 保存mp4文件_微信视频号视频怎么下载,视频号视频怎么保存到手机

    微信视频号视频怎么下载,视频号视频怎么保存到手机. 这是分享在网站上的微信视频号下载教程,具体细节可查看网站详细细节 微信视频号视频怎么下载,视频号视频怎么保存到手机 - 承林私塾自学网​281666 ...

  7. python 下载视频文件_python 实现视频流下载保存MP4的方法

    如下所示: # -*- coding:utf-8 -*- import sys import os from glob import glob import requests reload(sys) ...

  8. cordova Vue 保存视频/图片到相册 - 实现下载视频/图片到相册

    cordova实现保存视频到相册功能 亲测可用*(支持安卓,ios; 目前看来ios14都是可以的:没有兼容问题:) * 需要使用到插件 1.文件系统插件 https://github.com/apa ...

  9. h5禁用浏览器下载视频_阻止下载HTML5视频(右键单击保存)?

    繁花如伊 是的,您可以分三步完成:将要保护的文件放在运行代码的目录的子目录中.www.foo.com/player.html www.foo.com/videos/video.mp4 将文件保存在名为 ...

最新文章

  1. jquery之stop()的用法
  2. LVS+keepalived负载均衡
  3. web标准常见问题整理
  4. 收下这 16 篇最新论文,周会基本不用愁
  5. 基于FPGA的异构计算在多媒体中的应用
  6. DXperience 8.2.4 简繁体汉化,本地化,Skins包含webform,winform
  7. ASP.NET Core 认证与授权[1]:初识认证
  8. LeetCode 2087. 网格图中机器人回家的最小代价(脑筋急转弯)
  9. sed教程入门与实例练习(三)
  10. videojs插件的参数解释
  11. CoreData 从入门到精通(三)关联表的创建
  12. L1-046 整除光棍 (20 分)—团体程序设计天梯赛
  13. vs的windows应用程序上的鼠标为什么一直是加载状态?_了解 JavaScript 应用程序中的内存泄漏...
  14. 微软 Windows 11 全套内置自带壁纸打包下载 - Win11 官方默认原生 4K 高清壁纸图片
  15. win教程:如何查看本机的IP地址
  16. PHP控制连接打印机
  17. 电脑清灰你要知道的那些事(二)
  18. python下faker模块引入报错:Traceback (most recent call last) 解决办法
  19. 直流电机驱动电路中L298与电机间二极管的作用
  20. nginx的http_rewrite模块的rewrite指令

热门文章

  1. Chatgpt AI这么恐怖?未就业就要失业了?
  2. OneFlow获得首届“全国颠覆性技术创新大赛”最高奖
  3. shell编程之while循环
  4. java快速排序两种方法
  5. 使用QML进行界面开发
  6. Fluentd语法速记
  7. Exchange Server 2013 运维系列——故障恢复
  8. 如何洞悉人性、洞察人心
  9. libcef-在windows上如何编译?
  10. 梯度、散度、旋度、拉普拉斯算子、高斯散度定理