2011-01-23 82 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上发帖