ObjectiveC+SDWebImageView : Error Domain=NSURLErrorDomain Code=400 Операция не может быть завершена. (Ошибка NSURLErrorDomain 400.)

Я получил защищенный URL-адрес изображения с сервера следующим образом:

https://jointeffort-dev-test.s3.amazonaws.com/11316b6e-9824-418a-869e-ca4c1a453145.jpg?AWSAccessKeyId=AKIAJITHUU5FSWYPBZIA&Expires=1454576763&Signature=KogwFiMdpB%2B5scNI0MkDin7jTmE%3D

Я пытаюсь загрузить представление изображения с этим URL-адресом, используя SDWebImageView, и получаю следующую ошибку.

Error Domain=NSURLErrorDomain Code=400 "The operation couldn’t be completed. (NSURLErrorDomain error 400.)"

Я могу загружать изображения с обычных URL-адресов изображений, но я не мог загрузить такой URL-адрес, который имеет AccessKeyId, подобный указанному выше URL-адресу.

Может ли кто-нибудь помочь мне, пожалуйста.. Спасибо заранее.

Я пробовал следующие коды ... но я не получил изображение при просмотре изображения (URL работает нормально)

Код 1:

[imageView sd_setImageWithURL:[NSURL URLWithString:imageURL] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL)
    {
        if (error)
        {
            NSLog(@"error and image url  %@, %@",error,imageURL);
        }
        else
        {
            NSLog(@"image success = %@",image);
        }
    }];

Код 2:

[imageView sd_setImageWithURL:[NSURL URLWithString:imageURL]
                 placeholderImage:[UIImage imageNamed:@"placeholder"]
                          options:SDWebImageRefreshCached];

person iOS dev    schedule 04.02.2016    source источник
comment
Вы установили NSAllowsArbitraryLoads для NSAppTransportSecurity в Info.plist вашего проекта?   -  person Allen    schedule 04.02.2016
comment
да, я установил для NSAllowsArbitraryLoads значение YES   -  person iOS dev    schedule 04.02.2016
comment
У меня такая же проблема. Вы исправили это?   -  person stevengbu    schedule 29.09.2017


Ответы (1)


Используйте SDWebImageRetryFailed для параметров при установке изображения. Я также столкнулся с этой проблемой. Эта ошибка предполагает, что для этого изображения отказано в доступе. Это связано с тем, что вы не можете получить доступ к изображению с сервера Amazon, ИЛИ само изображение не существует на сервере. Вы также можете сообщить своей серверной команде, чтобы они отправили точный URL-адрес изображения с сервера amazon.

person rushisangani    schedule 04.02.2016