Nano Hash - криптовалюты, майнинг, программирование

Ошибка времени загрузки изображения в ios

Я использую приведенный ниже код для загрузки изображения на сервер.

NSString *url = [NSString stringWithFormat:@"http://192.250.1.52:xxx/api/user/profileUploadUser?userid=27&[email protected]"];

 NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc]init];

[jsonDict setObject:ImageToUpload forKey:@"file"];

////////ImageToUpload = /var/mobile/Containers/Data/Application/89112E0B-C1D6-4408-8586-6C5B4A431713/Documents/61.png

    [manager POST:url parameters:jsonDict
         success:^(AFHTTPRequestOperation *operation, id responseObject)
     { //////success code }


         failure:^(AFHTTPRequestOperation *operation, NSError *error) {
             UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Image upload" message:@"failure" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
             [alert show];
             NSLog(@"error message  %@",error);
             // handle failure
         }];

Он всегда входит в блок отказа и показывает сообщение об ошибке.

сообщение об ошибке: Error Domain=NSURLErrorDomain Code=-1001 «Время ожидания запроса истекло». UserInfo={NSErrorFailingURLStringKey=http://192.250.1.52:xxxx/api/user/[email protected], _kCFStreamErrorCodeKey=-21022}}}


  • использовать многоформенные данные для загрузки изображения на сервер 15.02.2017
  • Можно ли отправить путь к файлу изображения, используя многоформатные данные. 15.02.2017
  • путь к файлу динамический, как вы извлечете тот же 15.02.2017
  • Я использую динамический путь к файлу в коде. Я указал путь здесь, чтобы показать, что я хочу загрузить путь к файлу на сервер. 15.02.2017
  • хорошо, тогда file используется для загрузки изображения, а не пути 15.02.2017

Ответы:


1

Убедитесь, что скорость вашего интернета может быть низкой,

[manager.requestSerializer setTimeoutInterval:30];//Set request timeout interval time & interact with backend developer for same.

Еще одна вещь, вы можете управлять одним retry counter в singleton и дать второй запрос, если произойдет сбой, а если снова произойдет сбой, то отобразите всплывающее сообщение. Скорость интернета низкая.

15.02.2017
  • Вам решать, сколько раз вам нужно отправить запрос, и не забудьте снова сбросить retryCounter до 0 в обоих условиях (я имею в виду сброс retryCounter до нуля, как только вы успешно заблокируете или покажете всплывающее сообщение об ошибке) 15.02.2017
  • Я поместил здесь код интервала тайм-аута, но это не решает мою проблему. AFHTTPRequestOperationManager *manager = [менеджер AFHTTPRequestOperationManager]; manager.responseSerializer = [сериализатор AFHTTPResponseSerializer]; manager.requestSerializer = [сериализатор AFJSONRequestSerializer]; manager.requestSerializer.timeoutInterval=30; 15.02.2017
  • Установите временной интервал на 60 и проверьте, и даже не сработает, тогда вы можете управлять одним запросом singleton `retryCounter дважды, и даже в случае сбоя вам придется обрабатывать всплывающее сообщение о том, что Попробуйте еще раз, время запроса истекло из-за проблема со скоростью интернета. Я не думаю, что проблема отличается, а не скоростью интернета, и, пожалуйста, время интервала запроса вы можете обсудить один раз с бэкэнд-разработчиком. если у вас есть другое решение, дайте мне знать 15.02.2017
  • О, кажется, вы загружаете только файл. Посетите stackoverflow.com/a/15413152/4294543. 15.02.2017
  • Привет, Мукеш, я использую код из приведенного выше URL-адреса, но он показывает ошибку, не распознающую селектор NSURL *localFileToUpload = [NSURL fileURLWithPath:ImageToUpload]; AFHTTPSessionManager *manager = [Менеджер AFHTTPSessionManager]; [менеджер POST:параметры URL:nil ConstructionBodyWithBlock:^(id‹AFMultipartFormData› formData) { [formData appendPartWithFileURL:localFileToUpload name:@files fileName:@image.png mimeType:@image/jpeg]; 15.02.2017
  • убедитесь, что вы правильно сохраняете / освобождаете объекты, включите состояние зомби из схемы редактирования, перейдите к диагностике и разрешите все исключения obj-c .... это поможет вам отслеживать вашу проблему. 15.02.2017

  • 2

    Вы пытаетесь выполнить операцию POST, тогда как вам нужна операция file upload.
    Попробуйте загрузить файл AFNetworking multipart.

    15.02.2017
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..