gpt4 book ai didi

swift - 如何使用 JSQMessagesViewController 发送图像?

转载 作者:可可西里 更新时间:2023-11-01 01:36:28 25 4
gpt4 key购买 nike

我将 JSQMessagesViewController 和 Firebase 与 Twitter 登录一起使用。 enter image description here

我可以使用“didPressSendButton”成功发送短信。

现在我想发送图片。我有一个测试图像。现在,当我尝试使用“didPressAccessoryButton”发送图像时。当此函数执行图像时,将其转换为 base64 并保存在 firebase 数据库中。但问题是,当我按下 didPressAccessoryButton 时,蓝色气泡没有显示任何图像。

最佳答案

我认为通过发送您使用的文本:

    override func didPressSendButton(button: UIButton!, withMessageText text: String!, senderId: String!, senderDisplayName: String!, date: NSDate!)
{
self.sendMessage(text, video: nil, picture: nil)
self.finishSendingMessage()
}

并且您在 didFinishPickingMediaWithInfo 函数中有一个函数可以将图像保存在 Firebase 的 base64 中,您可以在那里使用以下代码让图片显示在气泡中,也就是说我将所有内容组合在一个 sendMessage 函数中,但是以下内容应该有所帮助:

    func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
{
let picture = info[UIImagePickerControllerEditedImage] as? UIImage

if (info[UIImagePickerControllerEditedImage] as? UIImage) != nil
{
let mediaItem = JSQPhotoMediaItem(image: nil)
mediaItem.appliesMediaViewMaskAsOutgoing = true
mediaItem.image = UIImage(data: UIImageJPEGRepresentation(picture, 0.5)!)
let sendMessage = JSQMessage(senderId: senderId, displayName: self.senderFullName, media: mediaItem)
self.messages.append(sendMessage)
self.finishSendingMessage()
}

picker.dismissViewControllerAnimated(true, completion: nil)
}

祝你好运(你可能还想看看不要在 Firebase 中存储大图像,因为不推荐这样做)

关于swift - 如何使用 JSQMessagesViewController 发送图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36955732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com