微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 QuickBlox ios Swift SDK 中发送聊天附件需要很长时间超过 1 分钟

如何解决在 QuickBlox ios Swift SDK 中发送聊天附件需要很长时间超过 1 分钟

使用 QuickBlox iOS Swift SDK 发送聊天附件需要大量时间(超过 1 分钟) 我们有以下通过 iOS 设备上的聊天窗口发送附件的实现。 我们正在使用 quickblox 本身在其文档中的示例应用程序中提供的以下类名和方法

Classname: AttachmentUploadBar
MethodName: QBRequest.uploadFile

当我们在我们的应用程序中加入相同的实现时,从 quickblox 的上传 API 获得响应需要大约 30 秒。 除了我们帐户的端点外,与 Quickblox 文档中提供的内容相比,实施中没有任何变化。 我们已经对我们的 Web 和 Android 实现(到同一个端点)进行了相同的测试,但我们没有看到那里有任何延迟,延迟(0.5 Mb 文件大约 50 - 60 秒)只是发生在 iOS 前端。>

这是上传文件方法

QBRequest.uploadFile(with: url,fileName: attachmentName,contentType: mimeType,isPublic: true,successBlock: { [weak self] (response: QBResponse,uploadedBlob: QBCBlob) -> Void in
                        guard let self = self else {
                          return
                        }
                        print("uploading attachment done")
                        let attachment = QBChatAttachment()
                        attachment.id = uploadedBlob.uid
                        attachment.name = uploadedBlob.name
                        attachment.type = mimeType
                        // print("uploadbob url : \(uploadedBlob.publicUrl())")
                        // attachment.url = uploadedBlob.publicUrl()
                        attachment["size"] = "\(uploadedBlob.size)"
                        self.progressBar.isHidden = true
                        self.cancelButton.isHidden = false
                        self.delegate?.attachmentBar(self,didUpLoadAttachment: attachment)
              },statusBlock: { [weak self] (request : QBRequest?,status : QBRequestStatus?) -> Void in
                if let status = status {
                  dispatchQueue.main.async {
                    print("uploading attachment in progress === \(status.percentOfCompletion)")
                    let progress = CGFloat(Float(status.percentOfCompletion))
                    self?.updateLoadingProgress(progress)
                  }
                }
            }) { [weak self] (response : QBResponse) -> Void in
              guard let self = self else {
                return
              }
              print("upload attachment Failed.. ")
              self.delegate?.attachmentBarFailedUpLoadImage(self)
            }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。