2011-11-20 50 views
1

我必須通過Cocoa Sockets(AsyncSockets)發送PNG圖像,但我無法正確發送它,Firefox告訴我圖像已損壞, t顯示任何東西。我用這個代碼:將PNG圖像轉換爲可以通過NSSockets發送的數據

content = [NSData dataWithContentsOfFile:filePath]; 
data = [[NSString stringWithFormat:@"HTTP/1.1 %@\nContent-Type: %@\n\n\n ", responseCode, contententType] dataUsingEncoding:NSUTF8StringEncoding]; 
[sock writeData:data withTimeout:-1 tag:1]; 
[sock writeData:[NSData dataWithBytes:[content bytes] length:[content length]] withTimeout:-1 tag:1]; 

正如你可以看到我的先發頭,然後我送NSData的字節長度&,但我不能設法得到正確的PNG圖像!我做錯了什麼?

+0

不知道這是你的問題,但換行符是錯誤的。他們應該是\ r \ n。 –

+0

@RogerLindsjö:你應該發佈這個答案。我相信CRLF *在標題中是必需的。 –

+0

-dataWithBytes沒有理由:...只是將內容用作參數。 –

回答

1

行結束是錯誤的,它們應該是\ r \ n,而不僅僅是\ n。