首页 > iOS 上传gif图片

iOS 上传gif图片

QNUploadManager *upManager = [[QNUploadManager alloc] init];

QNUploadOption *opt = [[QNUploadOption alloc] initWithMime:@"image/gif" progressHandler:nil params:@{  } checkCrc:YES cancellationSignal:nil];
NSString *imgString = [Base64Helper image2String:img];
NSData *data;

data = [NSData dataWithBase64EncodedString:imgString];

[upManager putData:data key:@"bbb" token:token
          complete: ^(QNResponseInfo *info, NSString *key, NSDictionary *resp) {
              NSLog(@"%@", info);
              NSLog(@"%@", resp);
          } option:opt];
          
          上面是代码,上传完的图片都默认是jpeg格式的。请问下我想上传gif格式的图片需要什么样的设置吗?

遇到同样的问题了,需要大神指导。
把问题顶上去让大神们看一看吧。不要踩我。


这个问题我解决了。但是没有得到社区的回答还是有点失望。不知道是不是我说的问题不够清晰。下面是解决的代码:
-(void)imagePickerController:(UIImagePickerController )picker didFinishPickingMediaWithInfo:(NSDictionary )info
{

UIImage *img = info[UIImagePickerControllerEditedImage];//original、edited
[self UpdateHeaderFileByQiNiu:info[UIImagePickerControllerReferenceURL]];

} 这是入口。

下面是处理函数UpdateHeaderFileByQiNiu
QNUploadManager *upManager = [[QNUploadManager alloc] init];

QNUploadOption *opt = [[QNUploadOption alloc] initWithMime:@"image/gif" progressHandler:nil params:@{  } checkCrc:YES cancellationSignal:nil];

ALAssetsLibrary* assetLibrary = [[ALAssetsLibrary alloc] init];
void (^ALAssetsLibraryAssetForURLResultBlock)(ALAsset *) = ^(ALAsset *asset) {
    
    if (asset != nil) {
        
        
        ALAssetRepresentation *rep = [asset defaultRepresentation];
        Byte *imageBuffer = (Byte*)malloc(rep.size);
        NSUInteger bufferSize = [rep getBytes:imageBuffer fromOffset:0.0 length:rep.size error:nil];
        NSData *imageData = [NSData dataWithBytesNoCopy:imageBuffer length:bufferSize freeWhenDone:YES];
        
        [upManager putData:imageData key:@"ddd" token:token
                  complete: ^(QNResponseInfo *info, NSString *key, NSDictionary *resp) {
                      NSLog(@"%@", info);
                      NSLog(@"%@", resp);
                  } option:opt];
    }
    else {
    }
};

[assetLibrary assetForURL:imgUrl
              resultBlock:ALAssetsLibraryAssetForURLResultBlock
             failureBlock:^(NSError *error){
             }];
【热门文章】
【热门文章】