我在使用可用于Objective-C的SDK上将照片上传到Google云端硬盘时遇到问题。
情况摘要如下,我创建了一个具有已定义名称的文件夹,在创建文件夹后,我在我的应用程序中上传了有限数量的照片商店。我等到收到确认照片上传成功后才尝试下一个列表。
我遇到的问题如下,我知道照片文件大约为9MB,并且成功点击了Google云端硬盘。问题是我使用MIME类型的图片/ jpeg上传它,实际显示在Google云端硬盘中的文件是PNG图像文件,它的大小为22 MB !!!!!!!我无法理解为什么它将它解释为PNG,以及为什么规模增长如此之多。
这是我的相关代码:
- (void) uploadPhotoToFolder:(NSString *)identifier withIndex:(int)index{
UIImage *content = [[photoArray objectAtIndex:index] objectAtIndex:0];
NSString *mimeType = @"image/jpeg";
GTLDriveFile *metadata = [GTLDriveFile object];
NSString *name =@"FileName";
metadata.name = name;
metadata.parents = @[identifier];
NSData *data = UIImagePNGRepresentation(content);
GTLUploadParameters *uploadParameters = [GTLUploadParameters uploadParametersWithData:data
MIMEType:mimeType];
GTLQueryDrive *query = [GTLQueryDrive queryForFilesCreateWithObject:metadata
uploadParameters:uploadParameters];
[self.service executeQuery:query completionHandler:^(GTLServiceTicket *ticket,
GTLDriveFile *updatedFile,
NSError *error) {
if (error == nil) {
//Notify that upload was successful
}
else {
//Notify that upload failed.
}
}];
}
提前感谢您的帮助。
答案 0 :(得分:0)
您正在使用NSData *data = UIImagePNGRepresentation(content);
,无论您发送的MIME类型如何,都会使您的图片成为PNG。