如何从 iOS 中的流中接收数据(swift)

Posted

技术标签:

【中文标题】如何从 iOS 中的流中接收数据(swift)【英文标题】:How to receive Data from a stream in iOS (swift) 【发布时间】:2016-04-21 06:21:14 【问题描述】:

我正在尝试快速从流中获取数据。我知道如何在 android 中处理这个问题,但我不知道在 ios 中该怎么做。 在 Android 中,我执行以下操作从服务器读取数据并将其作为文件保存到我的设备:

URL url = new URL(uri);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();

connection.connect();

input = connection.getInputStream();
output = new FileOutputStream(context.getFileStreamPath(filename));

byte data[] = new byte[1024];
int count;
while ((count = input.read(data)) != -1) 
    output.write(data, 0, count);


File file = context.getFileStreamPath(filename);

我怎样才能用 swift 做同样的事情?我正在使用 Alamofire 处理其他请求。

最好的问候

【问题讨论】:

你解决过这个问题吗?我正在处理涉及相同类型情况的事情。 很久以前,但我相信 alomofire 可以解决它。 【参考方案1】:

Almofire 提供了直接下载流的方法。这是Almofire github页面中提到的一个例子

let destination = Alamofire.Request.suggestedDownloadDestination(directory: .DocumentDirectory, domain: .UserDomainMask)
Alamofire.download(.GET, "https://httpbin.org/stream/100", destination: destination) 

【讨论】:

但是如何使用 alamofire 指定块大小?

以上是关于如何从 iOS 中的流中接收数据(swift)的主要内容,如果未能解决你的问题,请参考以下文章

带有自定义接收器的 Spark 结构化流中的输入行数

如何从 .NET 中的流中获取 MemoryStream?

如何使用 [agora.io] 接收远程流

如何使用 Swift 在 iOS 应用中接收/导入共享数据? [复制]

如何从我的流中获取数据并使用它?

接收后台通知iOS Swift 5(无正文和标题)