【问题标题】:Async image download with header Objective-C带有标头 Objective-C 的异步图像下载
【发布时间】:2014-08-07 23:57:12
【问题描述】:

我正在尝试使用此库异步下载图像 https://github.com/rs/SDWebImage#using-asynchronous-image-caching-independently

-(UICollectionViewCell*)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
  GalleryImageCell* cell = [collectionView  dequeueReusableCellWithReuseIdentifier:@"ImageCell" forIndexPath:indexPath];
  PSGalleriesImage* imagen = [self.Images objectAtIndex:indexPath.row];

  [cell.Image setImageWithURL:[NSURL URLWithString:imagen.link]];

  return cell;
}

图像正在下载并且运行良好,但服务器正在返回占位符图像,因为我没有发送 auth_token。应该在标头 X-PS-Auth-Token

中发送的身份验证令牌

有没有办法下载图片异步添加标题?

【问题讨论】:

  • 你需要在这个库中找到创建请求的地方,然后设置auth token
  • 谢谢,我花了一段时间才找到它,但通过一些小的改动,我设法更改了标题,非常感谢。生病发布代码。

标签: objective-c uiimageview uiimage nsmutableurlrequest


【解决方案1】:

正如克劳迪奥所说,我只是设法改变图书馆,它就成功了。我在这里发布代码:

这在 SDWebImageDownloader.m 中:

- (id)init
{
if ((self = [super init]))
{
    _executionOrder = SDWebImageDownloaderFIFOExecutionOrder;
    _downloadQueue = NSOperationQueue.new;
    _downloadQueue.maxConcurrentOperationCount = 2;
    _URLCallbacks = NSMutableDictionary.new;

    //CHANGES HERE
    NSMutableDictionary* headers =  [[NSMutableDictionary alloc]init];
    [headers setObject:@"image/webp,image/*;q=0.8" forKey:@"Accept"];
    [headers setObject:@"image/webp,image/*;q=0.8" forKey:@"Accept"];
    [headers setObject:[AppData GetSessionToken] forKey:@"X-PS-Auth-Token"];
    _HTTPHeaders = headers;
    //CHANGES HERE

    _barrierQueue = dispatch_queue_create("com.hackemist.SDWebImageDownloaderBarrierQueue",   DISPATCH_QUEUE_CONCURRENT);
  }
  return self;
}

【讨论】:

    【解决方案2】:

    如果您不想修改库,您可以将 http 标头设置到 imageDownloader 中,可能在您的 applicationDidFinishLaunching 上:

    -(void)configureSDWebImage
    {
        SDWebImageDownloader *webImageDownloader = [SDWebImageManager sharedManager].imageDownloader;
        [webImageDownloader setValue:@"YourHTTPValue" forHTTPHeaderField:@"YourHTTPHeader"];
    }
    

    【讨论】:

      猜你喜欢
      • 2018-03-15
      • 1970-01-01
      • 1970-01-01
      • 2010-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多