繁体   English   中英

对NSInputStream进行子类化以从本地文件路径上载特定部分的数据

[英]Subclassing NSInputStream to upload a particular portion of data from a local filepath

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

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

如果要通过将NSInputStream实例传递给NSURLRequest.HTTPBodyStream来上载文件,则必须创建NSInputStream的子类,并仅传输要上载的字节。 在这里不能使用NSFileHandle

创建一个与NSURLRequest一起使用的NSInputStream的子类是非常棘手的,但幸运的是这里有一篇关于如何实现它的博客文章

在这里,您可以为此找到NSInputStream的现成可用子类

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

Swift示例:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM