2011-01-23 80 views
1

這可能不是問題,但我試圖找出上傳前後上傳的Facebook專輯照片圖像壓縮的位置。我正在發送一個UIimage到一個Facebook相冊,最終在Facebook上的640X480大約43 kb jpeg,類似於其他來源的其他上傳照片。如果我將相同的UIImage附加到電子郵件中,則它是640x480的461 kb jpeg。Facebook iOS SDK的圖像壓縮

Facebook的上傳需要一段時間,我想加快速度,所以我有2個問題。

  1. 在Facebook服務器或Facebook SDK中的設備上,壓縮發生在哪裏?

  2. 如果它發生在服務器上,我如何在上傳之前在我的設備上壓縮UIImage,而無需調整大小(重新採樣爲100X80或其他東西),就像允許您使用jpeg一樣。我試圖使用UIImageJPEGRepresentation,但如果發送NSData而不是UIImage,Facebook SDK會給我一個錯誤。

+0

你是否能夠確定Facebook SDK是否在設備上壓縮圖像? – dazhi 2013-04-24 19:04:11

回答

2

多一點挖後,我更換這部分代碼:

 NSData* imageData = UIImagePNGRepresentation((UIImage*)dataParam); 
    [self utfAppendBody:body 
        data:[NSString stringWithFormat: 
         @"Content-Disposition: form-data; filename=\"%@\"\r\n", key]]; 
    [self utfAppendBody:body 
        data:[NSString stringWithString:@"Content-Type: image/png\r\n\r\n"]]; 
在FBRequest.m

與這部分代碼:

 NSData* imageData = UIImageJPEGRepresentation((UIImage*)dataParam, 1); 
     [self utfAppendBody:body 
        data:[NSString stringWithFormat: 
          @"Content-Disposition: form-data; filename=\"%@\"\r\n", key]]; 
     [self utfAppendBody:body 
        data:[NSString stringWithString:@"Content-Type: image/jpeg\r\n\r\n"]]; 

,發現它加載在大約一半時間。猜猜我會在git上發帖