gpt4 book ai didi

ios - 子类化 NSInputStream 以从本地文件路径上传特定部分的数据

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

我在一个文件中有 100 MB 的数据。这 100 mb 数据将被虚拟地划分。即,我需要创建一个指向不同 5MB block 的 NSInputStream。这可以通过使用 NSData 创建流来实现。

但我想知道我是否可以拥有一个指向文件中一系列数据的 NSInputStream?

最佳答案

如果您想通过将 NSInputStream 实例传递给 NSURLRequest.HTTPBodyStream 来上传文件,您确实必须创建 NSInputStream 的子类并且仅流式传输您要上传的字节。使用 NSFileHandle 不是这里的选项。

创建一个 NSInputStream 的子类来与 NSURLRequest 一起工作是相当棘手的,但幸运的是这里有一个 great blog post关于如何实现它。

Here you can find a ready to use subclass of NSInputStream for this purpose .

您可以将 ChunkInputStream 与另一个读取文件的 NSInputStream 一起提供,并传递起始位置和要读取的字节数。

快速示例:

let fileInputStream = NSInputStream(fileAtPath: "/tmp/readme")
let inputStream = ChunkInputStream(inputStream: fileInputStream)
inputStream.startPosition = 2097152
inputStream.readMax = 1048576

关于ios - 子类化 NSInputStream 以从本地文件路径上传特定部分的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16359061/

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