如何获取 CFHTTPStream 的文件大小。假设有一个名为“ http://testserver.com/test.jpg ”的文件可供阅读。这里我需要获取文件大小“test.jpg”,我需要在使用 CFReadStreamRead 时显示进度。
或者换句话说,我需要在读取过程开始之前服务器中有多少字节可用。
提前致谢
莫辛
如何获取 CFHTTPStream 的文件大小。假设有一个名为“ http://testserver.com/test.jpg ”的文件可供阅读。这里我需要获取文件大小“test.jpg”,我需要在使用 CFReadStreamRead 时显示进度。
或者换句话说,我需要在读取过程开始之前服务器中有多少字节可用。
提前致谢
莫辛
因此,您将从流中获取消息标头:
CFHTTPMessageRef message = CFReadStreamCopyProperty(requestStream, kCFStreamPropertyHTTPResponseHeader);
然后复制出标题字段:
CFDictionaryRef headerFields = CFHTTPMessageCopyAllHeaderFields(message);
然后从字典中获取内容长度字段。
我不完全记得特定的字段名称,所以转储字典并抓住看起来正确的那个。您将需要阅读至少一点流来获取标题。