2013-01-14 67 views
0

我有一臺服務器接收圖像並將它們發送到客戶端。問題是,每當我從iPad發送圖像時,圖像都會被破壞,但是如果我從模擬器發送圖像,則不會。在UIImageJPEGRepresentation我使用了0.2的壓縮,但它仍然損壞。從服務器Jpeg已損壞

我甚至試過這個方法(沒有工作):

- (BOOL)isJPEGValid:(NSData *)jpeg { 
    if ([jpeg length] < 4) return NO; 
    const char * bytes = (const char *)[jpeg bytes]; 
    if (bytes[0] != 0xFF || bytes[1] != 0xD8) return NO; 
    if (bytes[[jpeg length] - 2] != 0xFF || bytes[[jpeg length] - 1] != 0xD9) return NO; 
    return YES; 
} 

我在做什麼錯?

+0

有沒有人有任何想法? – GreatGoldApps

回答

0

根據服務器軟件的不同,通常會有大小限制。如果您發送的圖像在iPad上自然會比iPhone更大,這可能是問題所在。

要測試是否屬於這種情況,請嘗試將圖像縮小一半,然後將該JPEGRep發送到服務器。 (祝你好運,這些是棘手的追逐)

+0

問題是,如果我從模擬器發送圖像,圖像沒有被破壞,但是如果我做的是相反的,那麼它是。所以我不認爲縮小圖像會是一個不錯的選擇。此外,圖像不能縮小,因爲用戶會看到它全部模糊 – GreatGoldApps

+0

使圖像變小是一種測試機制,以確定服務器是否有尺寸問題。當之前有同樣的問題時,我已經從應用程序上傳了一個相同的圖像(作爲資源加載),並查看所有設備的行爲是否類似 – bshirley