Я пытаюсь сделать фотографию из приложения для iPhone и загрузить ее в службу WCF REST.
Я использую UIImagePickerController, чтобы получить доступ к камере и назначить новую фотографию для UIImageView на моем виде.
Затем я использую UIImageJPEGRepresentation, чтобы преобразовать его в «реальные» данные.
NSData *imageData = UIImageJPEGRepresentation(imageView.image, 0.2);
Затем я пытаюсь отправить запрос в мой сервис следующим образом:
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setFile:imageData withFileName:@"myphoto.jpg" andContentType:@"image/jpeg" forKey:@"imageData"];
[request setRequestMethod:@"POST"];
[request setDelegate:self];
[request setDidFinishSelector:@selector(requestDone:)];
[request setDidFailSelector:@selector(requestWentWrong:)];
[request startAsynchronous];
Служба получает данные и записывает их на диск моего веб-сервера. Но я не могу открыть изображение на сервере, так как Windows сообщает, что файл поврежден. Полагаю, мне нужно установить кодировку или тип содержимого в приложении для iPhone. Я получаю код состояния HTTP 200 от своего сервиса после завершения загрузки.
Я сделал небольшое клиентское приложение на C # просто для тестирования службы, и когда я загружаю фотографию с моего компьютера с Windows, используя этот клиент, все в порядке. Поэтому я думаю, что это было что-то, что я упускаю в вашем запросе от iPhone.
Спасибо за чтение и за любую помощь, которую вы можете предоставить.