2014-04-02 59 views
0

嗨,我想從iOS中沒有擴展名的下載文件中讀取文件類型。來自NSURL的文件類型

如:http://somelink/2a3bc

它是一種有效的PDF文件。當我下載它獲取作爲NSData流在URL(NSURL)下載。如果我將其重命名爲2a3bc.pdf,可以使用UIDocumentInteractionController進行預覽,但是當我打開沒有擴展名的網址時,它不會將其識別爲文件有效文件。 其UTI成爲公開數據

有沒有什麼辦法可以從NSData中讀取文件類型,並根據該文件重命名文件並使用UIDocumentInteractionController打開它。

問候, 南渡江艾哈邁德

+0

是否響應頭告訴你的內容型? – Wain

+0

不,我已經使用NSURLSessionDownloadTask下載它。響應標題不存在 – user3488871

+0

發佈您的代碼。順便說一句,它可以得到響應頭 - 請參閱http://stackoverflow.com/questions/19547897/nsurlsessiondownloadtaskdelegate-json-response – ElmoVanKielmo

回答

1

您的下載任務都有一個鏈接形式接收下載的一部分的NSURLResponse *response。這包含爲下載設置的MIMEType。你應該使用它來確定文件類型是什麼。

從技術上講,你可以讀取數據的前幾個字節的下載文件,但你需要的代碼量好比較和識別所有字節序列的...

+0

謝謝,但在我的情況下,響應是'nil'。 – user3488871

+0

你什麼時候訪問它?顯示代碼。 – Wain

+0

我沒有收到MIME類型的響應, {URL:https://abc/def/v1.1/files/filename} {狀態碼:200,標題{0}連接=「Keep-Alive 「; 「Content-Length」= 136247; 「Content-Type」=「application/zip」; Date =「Wed,02 Apr 2014 10:43:26 GMT」; 「Keep-Alive」=「timeout = 120,max = 500」; }}' – user3488871