簡體   English   中英

NSInputStream使用本地文件,而不使用從服務器拉下的文件

[英]NSInputStream working with with local file, not with file pulled down from server

大家好,所以我要從網絡服務器上提取yaml文件。 我的NSInputStream非常適合本地yaml文件(使用file://filename.yaml url方案)

以下是相關的代碼段:

NSInputStream * stream = [[NSInputStream alloc] initWithURL:yamlURL];

yaml url類似於http:// myip:8000 / assets / test.yaml在瀏覽器中打開只會導致文件下載...

有什么想法嗎?

我為此太遲了,但我只是解決了這個確切的問題,所以去了:

根據文檔,

The NSStream class does not support connecting to a remote host on iOS.

聽起來很愚蠢,initWithURL僅適用於本地文件。 但是有一個簡單的解決方法...

蘋果的完整說明和代碼示例可以在以下位置找到: https//developer.apple.com/library/mac/documentation/cocoa/Conceptual/Streams/Articles/NetworkStreams.html#//apple_ref/doc/uid/20002277- BCIDFCDI

initWithURL之后,您對* stream進行任何操作嗎?

如果要從使用本地文件初始化的InputStream中獲取內容,則需要創建一個NSOutputStream來獲取InputStream並將其重定向到Safari。 因此,我不認為僅通過initWithURL:進行url調用會告訴您很多信息,但是在safari中打開http:// url的調用將嘗試確定內容類型並嘗試輸出文件。 但是,我認為如果Safari是一個由多部分組成的啞劇yaml文件,則它不會顯示內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM