AFNetworking 接受所有内容类型

AFNetworking accept all content types

我正在执行请求操作,使用 AFHTTPRequestOperationManager 从服务器下载各种类型的文件。

目前,我是这样做的:

AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:baseURL];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"image/jpeg", @"image/gif", @"image/png", @"application/pdf", ..., nil];

它运行良好,但我想启用所有可能的内容类型以避免遗漏一些。

是否可以为每种现有内容启动可接受的内容类型?类似于:

manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"*", nil];

谢谢。

只需将 acceptableContentTypes 设置为 nil。

AFNetworking 中的相关代码如下所示:

       if (self.acceptableContentTypes && ![self.acceptableContentTypes containsObject:[response MIMEType]]) {
        ...

如果acceptableContentTypes为nil,则不检查,继续下载。

如果发现此问题的任何人需要将特定图像 MIME 类型添加到可接受的内容列表中,您可以执行以下操作:

#import <AFNetworking/UIImageView+AFNetworking.h>
#import <AFNetworking/AFImageDownloader.h>

AFImageResponseSerializer* serializer = (AFImageResponseSerializer*)[UIImageView sharedImageDownloader].sessionManager.responseSerializer;
serializer.acceptableContentTypes = [serializer.acceptableContentTypes setByAddingObject:@"image/jpg"];

我们需要支持 "image/jpg" MIME 类型,这非常有效。