Отправьте изображение на сервер как двоичные данные

Я хочу сделать приложение для iPhone для отправки изображения в мой сервер.

Я хочу потянуть что-то в iPhone (исключая: подпись) как изображение к двухуровневому изображению POST к моему серверу (сервер является JSP). Скажите мне, что я должен сделать?

  • как использовать iPhone UI?
  • как сделать двоичные данные из изображения и т.д.
5
задан John Willemse 3 February 2014 в 14:55
поделиться

1 ответ

Во-первых, вы можете получить объект NSData, содержащий представление данных изображения в формате PNG или JPEG, с помощью функций UIImagePNGRepresentation и UIImageJPEGRepresentation.

// To get the data from a PNG file
NSData *dataForPNGFile = UIImagePNGRepresentation(yourImage);

// To get the data from a JPEG file
NSData *dataForPNGFile = UIImageJPEGRepresentation(yourImage, 0.9f);

(для получения дополнительной информации см .: Ссылка на класс UIImage )

Чтобы завершить загрузку данных с вашего iPhone на ваш сервер, вы можете сделать следующее:

- (void)sendImage {
       NSData *postData = [nsdata from your original image];
       NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

       // Init and set fields of the URLRequest
       NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
       [request setHTTPMethod:@"POST"];
       [request setURL:[NSURL URLWithString:[NSString stringWithString:@"http://yoururl.domain"]]];
       [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
       [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
       [request setHTTPBody:postData];

       NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
       if (connection) {
          // Return data of the request
          NSData *receivedData = [[NSMutableData data] retain];
       }
       [request release];
 }
13
ответ дан 18 December 2019 в 14:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: