2

私は WS を作成しましたが、WS が提供するものの 1 つはアバター (アップロードとサーバー) です。唯一の問題は、SDWebImage (UIButton + SDWebImage) を使用してアクセスしようとすると、完了ハンドラーで上記のエラーが発生することです。完全なエラーは次のとおりです: (Error Domain=NSURLErrorDomain Code=406 "The operation could't be completed. (NSURLErrorDomain error 406.)" ) それについての奇妙なことは、サーバーがこれまで触れられていないことです (検証のためにログインしてください)これ)!これを引き起こしている可能性のあるアイデアと、それを修正する方法はありますか?

PS URLをNSLogしてからコピーしてブラウザに貼り付けると、完全に機能するので、SDWebImageまたはiOSの何かです。

問題の編集コード:

[btn setBackgroundImageWithURL:url forState:UIControlStateNormal placeholderImage:[UIImage imageNamed:@"user-empty.png"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {
                    if (error) {
                        NSLog(@"error loading image:%@",error);
                        return;
                    }
                    NSLog(@"image should be loaded");
                    dispatch_async(dispatch_get_main_queue(), ^{
                        [btn setBackgroundImage:image forState:UIControlStateHighlighted];
                    });
                }];

URLについては、現時点ではドメイン名がなく、クライアントのサーバーのIPを教えたくないため、共有したくありません...理解していただけると思いますが、ここにありますURL から正しい IP を引いたもの (編集を投稿するためにスペースを追加する必要があったことに注意してください。実際の URL にはありません): http:// 192 .168 .1 .21/uploads/51078f979c966bde0b000009/avatar.png

それは私のWSに何かありますか?ヘッダーか何かについての何か?「image/png」のコンテンツ タイプが返されていることはわかっています。ドメイン名ではなくIPであるという事実でしょうか?

更新ドメイン名を設定しましたが、まだ機能していません。ブラウザでは機能しますが、SDWebImage または AFNetworking では機能しないリンクを次に示します。

4

2 に答える 2

3

本当に HTTP エラー 406 がある場合は、こちらを読んでください。HTTP ヘッダーの問題のようです。

ただし、確実にするには、NSError オブジェクトのプロパティを調べて、 Foundations Constants Referencecodeの次のエラー コードのいずれかと一致させる必要があります。

   NSURLErrorUnknown = -1,
   NSURLErrorCancelled = -999,
   NSURLErrorBadURL = -1000,
   NSURLErrorTimedOut = -1001,
   NSURLErrorUnsupportedURL = -1002,
   NSURLErrorCannotFindHost = -1003,
   NSURLErrorCannotConnectToHost = -1004,
   NSURLErrorDataLengthExceedsMaximum = -1103,
   NSURLErrorNetworkConnectionLost = -1005,
   NSURLErrorDNSLookupFailed = -1006,
   NSURLErrorHTTPTooManyRedirects = -1007,
   NSURLErrorResourceUnavailable = -1008,
   NSURLErrorNotConnectedToInternet = -1009,
   NSURLErrorRedirectToNonExistentLocation = -1010,
   NSURLErrorBadServerResponse = -1011,
   NSURLErrorUserCancelledAuthentication = -1012,
   NSURLErrorUserAuthenticationRequired = -1013,
   NSURLErrorZeroByteResource = -1014,
   NSURLErrorCannotDecodeRawData = -1015,
   NSURLErrorCannotDecodeContentData = -1016,
   NSURLErrorCannotParseResponse = -1017,
   NSURLErrorInternationalRoamingOff = -1018,
   NSURLErrorCallIsActive = -1019,
   NSURLErrorDataNotAllowed = -1020,
   NSURLErrorRequestBodyStreamExhausted = -1021,
   NSURLErrorFileDoesNotExist = -1100,
   NSURLErrorFileIsDirectory = -1101,
   NSURLErrorNoPermissionsToReadFile = -1102,
   NSURLErrorSecureConnectionFailed = -1200,
   NSURLErrorServerCertificateHasBadDate = -1201,
   NSURLErrorServerCertificateUntrusted = -1202,
   NSURLErrorServerCertificateHasUnknownRoot = -1203,
   NSURLErrorServerCertificateNotYetValid = -1204,
   NSURLErrorClientCertificateRejected = -1205,
   NSURLErrorClientCertificateRequired = -1206,
   NSURLErrorCannotLoadFromNetwork = -2000,
   NSURLErrorCannotCreateFile = -3000,
   NSURLErrorCannotOpenFile = -3001,
   NSURLErrorCannotCloseFile = -3002,
   NSURLErrorCannotWriteToFile = -3003,
   NSURLErrorCannotRemoveFile = -3004,
   NSURLErrorCannotMoveFile = -3005,
   NSURLErrorDownloadDecodingFailedMidStream = -3006,
   NSURLErrorDownloadDecodingFailedToComplete = -3007
于 2013-02-14T19:10:45.950 に答える