ios - 将图像从 iOS 应用程序发送到服务器的正确方法

标签 ios swift uiimage

我正在从相机捕获图像并将图像转换为 base64 格式。将图像发送到服务器需要更多时间。如果没有互联网连接,我会将其存储到本地数据库中,一旦获得互联网连接,我想将多个图像发送到服务器。从应用程序将图像发送到服务器的最佳方式是什么。

最佳答案

你尝试过吗Alamofire ?支持文件上传。

这是图像加载的示例:

public func requestImage(url: String) -> SignalProducer<UIImage, NetworkError> {
        return SignalProducer { observer, disposable in
            let serializer = Alamofire.Request.dataResponseSerializer()
            Alamofire.request(.GET, url)
                .response(queue: self.queue, responseSerializer: serializer) {
                    response in
                    switch response.result {
                    case .Success(let data):
                        guard let image = UIImage(data: data) else {
                            observer.sendFailed(.IncorrectDataReturned)
                            return
                        }
                        observer.sendNext(image)
                        observer.sendCompleted()
                    case .Failure(let error):
                        observer.sendFailed(NetworkError(error: error))
                    }
            }
        }
    }

这是 async image load 的示例之一.

关于ios - 将图像从 iOS 应用程序发送到服务器的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38519155/

相关文章:

ios - 为什么当 Objective-C 有冲突返回类型时会发生这种情况?

ios - 手动弹跳 UIScrollView

ios - 自定义 moreNavigationController 的 tableview 和类似的用户界面

ios - 如何保存实现 Codable 的自定义对象

ios - Swift - 每 50 次后使用 sleep 者运行 1000 个异步任务 - 如何通信 btw DispatchGroups

ios - 如何在 iOS 上使用 libtiff 编写 1bpp tiff?

ios - iOS 图像分割

ios - 修复了在 iOS 11 的 webview 中向下滚动时标题消失的问题

objective-c - ABRecordCopyValue() EXC_BAD_ACCESS 错误

ios - 如何在多个 View Controller 中将图像从 UIImagePickerController 设置为 UIimages