Firebase:如何将视频存储在存储中,然后将视频 URL 存储在数据库中?

2024-01-10

这是我第一次使用 Firebase。我读到您应该将视频存储在存储中,然后将该唯一的 URL 存储在其数据库中。我将如何采取这种方法?例如,如果用户请求播放特定视频,我如何从数据库中获取 URL,然后使用该 URL 将视频从数据库中提取出来?

感谢您的帮助,请原谅我对 Firebase 的缺乏经验。


来自Google I/O 大会上从零到应用的演讲 https://www.youtube.com/watch?v=xAsvwy1-oxE来这个代码:

// pragma mark - UIImagePickerDelegate overrides
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {

  // Get local file URLs
  guard let image: UIImage = info[UIImagePickerControllerOriginalImage] as? UIImage else { return }
  let imageData = UIImagePNGRepresentation(image)!
  guard let imageURL: NSURL = info[UIImagePickerControllerReferenceURL] as? NSURL else { return }

  // Get a reference to the location where we'll store our photos
  let photosRef = storage.reference().child("chat_photos")

  // Get a reference to store the file at chat_photos/<FILENAME>
  let photoRef = photosRef.child("\(NSUUID().UUIDString).png")

  // Upload file to Firebase Storage
  let metadata = FIRStorageMetadata()
  metadata.contentType = "image/png"
  photoRef.putData(imageData, metadata: metadata).observeStatus(.Success) { (snapshot) in
    // When the image has successfully uploaded, we get it's download URL
    let text = snapshot.metadata?.downloadURL()?.absoluteString
    // Set the download URL to the message box, so that the user can send it to the database
    self.messageTextField.text = text
  }

  // Clean up picker
  dismissViewControllerAnimated(true, completion: nil)
}

这将获取在图像选择器中选择的图像,将其上传到 Firebase Storage,然后将该图像的下载 URL 设置到文本字段中:

// Send a chat message
func sendMessage(sender: AnyObject) {
  // Create chat message
  let chatMessage = ChatMessage(name: self.username, message: messageTextField.text!, image: nil)
  messageTextField.text = ""

  // Create a reference to our chat message
  let chatRef = database.reference().child("chat")

  // Push the chat message to the database
  chatRef.childByAutoId().setValue(["name": chatMessage.name, "message": chatMessage.message])
}

The sendMessage然后方法将文本从文本框发送到数据库。

该最小示例的完整代码位于这个要点 https://gist.github.com/mcdonamp/cc45567cd95ba2a62017cb21e891effd.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firebase:如何将视频存储在存储中,然后将视频 URL 存储在数据库中? 的相关文章

  • 从 Plist 中存储和检索 [重复]

    这个问题在这里已经有答案了 可能的重复 iOS 在 plist 文件中存储两个 NSMutableArray https stackoverflow com questions 6070568 ios store two nsmutable
  • Swift 数组设置索引值不起作用

    我有一个方法 下面的内容 其中queue2只是一个 Int 我打印了很多东西 看看一切是否都正常 public func cool item Int println item println back queue2 insert item
  • 如何在 Swift 中使用 CGFloat?

    var posinonY Float Float y Float pipeDown size height Float verticalPipeGap pipeDown position CGPointMake 0 0 Float posi
  • 新的 FUITableViewDataSource - 如何使用?雨燕3

    刚刚更新到较新的 FirebaseUI Pod 有些事情发生了变化 但其中最大的变化之一是 FUI 表视图的工作方式 我让它在旧版本上运行良好 但在下面遇到了困难 并且缺乏文档 示例 self dataSource FUITableView
  • 在界面生成器/故事板中设置 UIButton 图像

    我有一个视图控制器 我在故事板中添加了一个圆形矩形按钮 该应用程序运行良好 我还使用故事板将按钮连接到 segue 我正在尝试为此按钮设置一个自定义图像以用于其开和关状态 我如何访问此按钮并设置其属性 在本例中为开和关图像 这是一个屏幕截图
  • Firebase 连接管理器应仅返回一个结果

    我正在关注位于以下位置的文档 https www firebase com docs ios guide offline capability html section connection state https www firebase
  • 如何等待 webViewDidFinishLoad 完成

    我有一个初始化 webView 的布尔条件 并在 webViewDidFinishLoad 中加载另一个委托 以便在完成完成后触发 但是 由于布尔值在条件 webViewDidFinishLoad 之前返回 因此页面永远不会完全加载 如何确
  • 使用 UIImagePickerController 的应用程序在拍照后选择“使用照片”时冻结

    我现在正在开发一个简单的照片和视频捕获应用程序 该应用程序成功地允许用户按下按钮即可拍摄照片或视频 但是 一旦您完成拍摄照片或视频 它就会提供 2 个选项 重新拍摄 和 使用照片 或 使用视频 具体取决于您使用的选项 如果用户点击 重新拍摄
  • iOS:从非图像数据生成图像(Godus,如风景)

    所以看到图像后Godus http www kickstarter com projects 22cans project godus我想知道如何生成简单的 非交互式的 2D 图像 with 不同高度或层数的颜色不同就像下面的图片一样 我只
  • iOS 外部附件框架:如何获取特定 MFI 设备的协议字符串

    我正在编写一个 iOS 应用程序 用于与 mini mPlay Drumi MP18B 小型蓝牙扬声器 进行通信 据我所知 showBluetoothAccessoryPickerWithNameFilter仅显示协议字符串添加到 Info
  • 在 iOS 中录制音频并永久保存

    我制作了 2 个 iPhone 应用程序 可以录制音频并将其保存到文件中并再次播放 其中之一使用 AVAudiorecorder 和 AVAudioplayer 第二个是苹果的在这里说话 http developer apple com l
  • 在 Interface Builder 中的资产目录上使用图像

    是否可以直接在界面生成器上使用添加到资产目录中的图像 这是怎么做到的 在 UIImageView 属性上 我看不到任何引用资产目录上任何图像的选项 Import the images into the xcassets folder 单击右
  • iOS 中的等宽字体是什么?

    我想要在我的 iOS 应用程序中为 UILabel 使用等宽字体 不幸的是 我找不到一个 甚至 美国打字机 实际上也不是等宽的 XCode 中可用的等宽字体是什么 iOS 等宽字体 Courier Courier Bold Courier
  • 如何将十六进制数组转换为 UIImage?

    有几个与使用 P25mi 动态打印图像相关的未解答问题 没有一个得到公认的答案 下面有几个链接 如何将图像转换为位图代码以便在 iPhone 中进行蓝牙打印 https stackoverflow com questions 1383828
  • Firebase Cloud Function:& Flutter:无法在模拟器上使用 https 可调用函数 [firebase_functions/unavailable] 不可用

    我试图从我的 flutter 应用程序中使用模拟器调用 HTTPS 可调用函数 但它似乎不起作用 我调用该函数后 总是需要大约 5 秒的时间并返回错误 如果我将该功能部署在服务器上 它就可以完全正常工作 这是我的功能 exports try
  • 如何使用自签名证书为 TLS 创建 iOS NWConnection?

    我正在尝试将 Apple 的新 NWConnection 类用于我的 MQTT 客户端 为了进行测试 我需要能够创建到本地测试代理的 TLS 连接 该代理具有自签名证书 到目前为止 我只是使用以下命令设置连接 self connection
  • 服务器到 Firebase HTTP POST 结果为响应消息 200

    使用 Java 代码 向下滚动查看 我使用 FCM 向我的 Android 发送通知消息 当提供正确的服务器密钥令牌时 我收到如下所示的响应消息 之后从 FCM 收到以下响应消息 Response 200 Success Message m
  • 在WKWebview中设置useragent

    如何在 WKWebView 中设置自定义用户代理字符串 我正在尝试嵌入我的应用程序的版本 以便我的服务器端可以看到可用的功能 我找到了以下方法 let userAgent MyApp 1 33 7 request setValue user
  • 如何在ios中以编程方式添加水平间距和垂直间距?

    我在 ios 8 中创建了一个应用程序 因为我有 4 个可垂直使用的标签 它应该在某些条件下更改位置 所以我已禁用自动布局并以编程方式设置约束 现在的问题是 我可以设置水平和垂直位置 宽度和高度的约束 但我找不到任何方法来添加标签之间的水平
  • 通用类不会将委托调用转发给具体子类

    鉴于以下情况 protocol EntityType var displayString String get extension String EntityType var displayString String return self

随机推荐

  • 反序列化触发函数

    我有一个包含许多字段的类 这些字段通常是在构造函数中根据类中的其他数据计算的 它们不会序列化为 XML 因为对其余数据的任何更改都可能需要重新计算 有没有办法设置在反序列化时触发的函数调用 你所描述的是 OnDeserialized htt
  • XStream 序列化和反序列化中的多态性

    我有这些课程 XStreamAlias person public class PersonConfig private AnimalConfig animalConfig public interface AnimalConfig XSt
  • Response.Flush() 仅适用于 Firefox

    我试图在做一些冗长的工作之前向客户发送一些内容 Response Write Processing Response Flush System Threading Thread Sleep 5000 Response Write Finis
  • 谷歌地图 iOS SDK:用作标记的自定义图标

    Android API 为此提供了一个非常方便的类 IconGenerator http googlemaps github io android maps utils javadoc com google maps android ui
  • 如何解决基本标签的问题?

    我的基本标签有问题 看起来像 除了这个查询之外 一切正常 get application soft calendar month change php 我的计算机认为它是跨域服务器并将查询更改为选项 当我删除基本标签时 它可以正常工作 但我
  • 发布订阅延迟达到分钟

    我一直在开发一个在 Node js 灵活运行时上利用 Gcloud pubsub 平台的项目 由于某种原因 出现了一些相当疯狂的延迟 并且随着时间的推移 延迟的严重程度不断增加 起初 只有某种类型的消息有时会经历严重的延迟 然而 随着我过去
  • 在 C# 中从 XML 中删除所有属性的最简单方法是什么?

    我想从 XML 中删除所有标签的属性 我只想保留标签及其内部值 在 C 中执行此操作最简单的方法是什么 static void removeAllAttributes XDocument doc foreach var des in doc
  • 计算拟合框数量的算法

    我有一个客户卖酒瓶 他使用可容纳 6 瓶 12 瓶 18 瓶和 21 瓶的盒子 但他只想接受完全适合这些盒子的订单 里面不能有任何空白 E g 33 即可 1x21 和 2x6 48 即可 2x21 和 1x6 或 4x12 26 35 6
  • 通过正则表达式的 split 函数分割表情符号字符串

    我想使用 Javascript 的 split 函数来分割表情符号字符串 stackoverflow上有很多类似的问题 但我找不到任何完整的解决方案 所以我用我自己的方式来做 a 将 split 函数与正则表达式结合使用 b 通过正则表达式
  • java中比较二维数组

    我正在寻找一种简单的方法来检查两个二维数组是否具有完全相同的内容 理想的情况是不使用任何 for 循环 但如果这是唯一可能的方式 那就这样吧 谢谢您的帮助 考虑使用Arrays deepEquals http java sun com ja
  • C# 控制台会因写入行过多而溢出吗?

    如果我有一个每秒多次执行 Console Writeline 的程序 并且该程序长时间运行 控制台是否会因行数过多而溢出 我只是想知道它最终是否会抛出 IO 异常 或者 Console Writelines 的数量是否几乎是无限的 不 它不
  • 当代码为 401 时,如何在 okhttp 中获取响应正文?

    我正在使用 OkHttp 3 2 0 这里是构建请求对象的代码 MediaType JSON MediaType parse AppConstants CONTENT TYPE VALUE JSON RequestBody body Req
  • 过滤后的列表项将打开原始列表项的活动

    经过大量时间在这里和其他地方的搜索后 我无望找到解决方案 所以这是我的问题 我创建了一个列表视图 并在其之上添加了一个搜索栏 当我使用搜索栏来过滤结果时 当我单击第 7 项时 它总是从第一个活动开始 而不是打开特定的单击活动 即 7 我期待
  • 安装 OpenCV for Python(多个 python 版本)

    我的机器上安装了两个不同版本的 python 2 4 和 2 7 我正在尝试安装 2 7 版本的 OpenCV 2 4 5 cmake D CMAKE BUILD TYPE RELEASE D CMAKE INSTALL PREFIX us
  • Swift 中的 For 循环

    突然 我在Apple文档中学到的for循环结构停止工作 它显示一个错误 预期声明 谁能告诉我新语法是什么 let CirclePoints 84 var circlePoint 0 for circlePoint in 0
  • 合并树结构中分支的模式或算法?

    我正在尝试将 DAG 有向无环图 映射到下面显示的结构中 这是我开始的 DAG 的示例 其中弧线总是从左向右 然后 我恢复该图并将其跨越到具有重复节点的树中 如下所示 我正在寻找的是一些算法或模式来实现以下合并结构 注意再次恢复 目标是生成
  • Angular 应用程序无法在 Azure 上找到资产文件

    我刚刚通过运行 ng build prod 并将其推送到 git 将我的 Angular 应用程序部署到 azure 但收到 404 错误 指出它找不到资产文件夹中的 json 文件 我也尝试过运行 ng build prod base h
  • 如何从 Eclipse 设置 java.library.path

    我怎样才能设置java library path对于整个 Eclipse 项目 我正在使用一个依赖于操作系统特定文件的 Java 库 并且需要找到一个 dll so jnilib 但应用程序总是退出并显示一条错误消息 指出在库路径上找不到这
  • 使用 OpenCV3 进行视频中的人脸识别时出现未处理的异常 (opencv_core310.dll)

    下面的代码用于识别我从下面的链接获得的脸部 http docs opencv org 3 0 beta modules face doc facerec tutorial facerec video recognition html htt
  • Firebase:如何将视频存储在存储中,然后将视频 URL 存储在数据库中?

    这是我第一次使用 Firebase 我读到您应该将视频存储在存储中 然后将该唯一的 URL 存储在其数据库中 我将如何采取这种方法 例如 如果用户请求播放特定视频 我如何从数据库中获取 URL 然后使用该 URL 将视频从数据库中提取出来