iOS 上传gif图片

发布于 2022-09-02 00:41:15 字数 646 浏览 20 评论 0

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格式的图片需要什么样的设置吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

淡莣 2022-09-09 00:41:15

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

待天淡蓝洁白时 2022-09-09 00:41:15

这个问题我解决了。但是没有得到社区的回答还是有点失望。不知道是不是我说的问题不够清晰。下面是解决的代码:
-(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){
             }];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文