- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 Firebase 存储中获取保存的图像。
我将 url 保存在 Firebase 数据库中的字符串值中:
mediaUrl = url!.absoluteString
现在我想获取这张图片。
我观察消息。
func observeMessages() {
let query = Constants.refs.databaseChats.child(chatId).queryLimited(toLast: 50)
_ = query.observe(.childAdded, with: { [weak self] snapshot in
if let data = snapshot.value as? [String: String],
let id = data["sender_id"],
let name = data["name"],
let timestamp = data["timestamp"],
let media = data["media"],
let text = data["text"]?.encode(),
!text.isEmpty
{
if media == "text" {
if let message = JSQMessage(senderId: id, senderDisplayName: name, date: self!.dateFormatter.date(from: timestamp), text: text) {
self?.messages.append(message)
self?.finishReceivingMessage()
}
}
else if media == "image" {
let storageRef = Storage.storage().reference(withPath: text)
storageRef.getData(maxSize: 1 * 1024 * 1024) { (data, error) -> Void in
if data != nil {
let image = UIImage(data: data!)
if let imageMessage = JSQMessage(senderId: id, senderDisplayName: name, date: self!.dateFormatter.date(from: timestamp), media: image as! JSQMessageMediaData) {
self?.messages.append(imageMessage)
print("image message")
self?.finishReceivingMessage()
}
}
}
}
}
})
}
如果媒体是图像,我想创建一个图像气泡,当文本是一个普通文本气泡时。但是我在 JSQMEssageViewController 中没有得到图像。什么地方出了错?有人可以帮我吗?
我在控制台中获取了 url:
https://firebasestorage.googleapis.com/v0/b/emmessenger-22.appspot.com/o/media%2FJzl0EUmjSvZZcpCd8Mdi8X9q87G2%2F03.06.2019%2021:26:39?alt=media&token=1c45feaf-0ed8-4f88-9c1f-13f4c6a8f3d4
然后我在控制台得到以下信息:
2019-06-03 21:28:21.092580+0200 EMMessenger[38502:554129] [] nw_proxy_resolver_create_parsed_array PAC evaluation error: NSURLErrorDomain: -1003
谢谢
最佳答案
实际上在这种情况下您不需要调用getData
函数。因为你正在使用 tableView
所以我建议使用 SDWebImage库以异步方式将图像加载到单元格上。一旦你有了 imageURL
就调用下面的方法
yourImageView.sd_setImage(with: URL(string: "https://firebasestorage.googleapis.com/v0/b/emmessenger-22.appspot.com/o/media%2FJzl0EUmjSvZZcpCd8Mdi8X9q87G2%2F03.06.2019%2021:26:39?alt=media&token=1c45feaf-0ed8-4f88-9c1f-13f4c6a8f3d4"), placeholderImage: UIImage(named: "placeholder.png"))
休息图书馆会为你做的。
关于swift firebase 从存储中获取图像并在 JSQMessage Controller 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56433463/
当我添加多条测试消息时,屏幕上只显示其中两条。其他消息显然在那里,因为我可以复制它们,但颜色根本不显示。当我滚动时,出现了新的两个文本,但它仍然只有两个。下面显示一些示例。 第一个屏幕截图显示了屏幕首
我正在尝试创建一个带有图标的自定义消息单元格(在右侧用于传入,在左侧用于传出) 我已将 JSQMessagesCollectionViewCellOutgoing 子类化,并在我想要的位置显示图标。伟
我正在寻找,但找不到相关信息。我可以在一个气泡消息单元格中添加视频和照片吗? 我实现了一个一个发送附件。 JSQPhotoMediaItem *photoItem = [[JSQPhotoMediaI
我从 API 接收聊天数据,它返回消息的日期如下: 30 minutes ago 1 hour ago 2 weeks ago ... etc 但是在 JSQMessa
我正在为我的聊天应用程序使用 JSQMessagesViewController。 当我更改键盘输入模式(即键盘语言)时,气泡会向下滚动一个高度并被 inputToolbar 覆盖。 我发现这个问题也
我试图在我的应用程序中实现 JSQMesages,但是,我不明白为什么当我按下发送按钮时所有消息都消失了。我一步一步来,无法弄清楚,当聊天最初加载时,一切都在那里。但是发送按钮做了什么让一切都消失了?
我正在使用 JSQMessages 构建一个小型聊天应用程序,并尝试从照片库或相机发送图像。 我已经到了将图像保存到解析后端的地步,但我无法在屏幕上显示它。我找到了很少的解决方案,但它们都在 obj-
如何在bubblemessage中显示完整的图像。 我显示了图像,但它被剪切了: see image 谢谢 最佳答案 我不相信有一个函数可以覆盖以获得所需的结果。但另一方面,如果您想 fork JSQ
我正在使用 JSQMessage,在显示媒体占位符时遇到一些困难,直到我正确下载它,然后替换为媒体。就将消息和媒体添加到服务器而言,我的一切工作正常,只是无法用它来替换占位符。 目前,我有一个函数可以
我需要在我的 JSQMessagesVC 顶部有一个栏或一些空间,以允许用户退出它,但是在 Storyboard 中添加元素不起作用,因为我猜 chatVC 覆盖了一切在 Storyboard 中?这
我添加了 JSQMessageViewController到我的项目。我转到桥接头文件并添加了 #import ' and I get the error未找到 JSQMessages.h'。 为什么
我在我的 Viewcontroller 中使用了 JSQMessagesViewController。聊天以匿名用户打开。聊天工作正常,但我需要对数据库进行一些更改。因为数据库是它的火力点。当任何消息
我正在尝试将 topLabel 添加到 JSQMessageCollectionViewCell 并正在实现正确的方法,但没有显示任何内容。这是我的代码: override func collecti
当我在我的 JSQMessagesViewController 中输入一条消息时,当键盘出现时 View 没有被推上去。 我无法发送消息,也看不到我正在输入的消息。 我什至在我的 VC 中没有看到任何
我正在尝试制作像 instagram 这样的评论 View ,并希望有一个带有 + containerView 的文本,containerView 的大小随着我的 TextView grwos 的增加
我正在使用 JSQMessage 在 Swift 中创建聊天应用程序,基本上我的问题是当用户点击照片时我想要聊天中的照片我希望照片全屏弹出 我将添加我正在尝试执行的步骤,它可能会更长但更容易理解。 (
我正在使用 JSQMessages 构建一个基于聊天 UI 的应用程序,该应用程序与 Web 服务进行通信。但是,我不希望用户能够使用开放式文本进行响应,而是使用预设数量的回复,例如"is"、“否”和
出于某种原因,我无法使用 JSQMessages 覆盖 Swift 3 中的方法。 这些方法定义在 JSQMessagesCollectionViewDataSource public func se
你好我正在使用 JSQMessagesViewcontroller 制作一个聊天应用程序,我需要向 JSQMessages 添加一个额外的属性来为每条消息提供一个 ID。而且我还需要覆盖第一个方便的
我想在 Firebase 存储中获取保存的图像。 我将 url 保存在 Firebase 数据库中的字符串值中: mediaUrl = url!.absoluteString 现在我想获取这张图片。
我是一名优秀的程序员,十分优秀!