iPhone, невозможно загрузить изображение с устройства на сервер - PullRequest
0 голосов
/ 22 декабря 2011

У меня проблема с загрузкой изображения на сервер.Я могу использовать приведенный ниже код с симулятора iPhone для успешной отправки на наш сервер.Когда я использовал этот код ниже на реальном устройстве, таком как iPad 2, изображение на сервере было повреждено.Данные были извлечены из URL основного источника из AlAssetsLibrary.Я не знаю, почему значение 512 было добавлено с длиной данных из кода ниже.Важна ли разметка заголовка сообщения, например, расположение содержимого должно предшествовать типу содержимого?

    NSDateFormatter *date_formatter=[[NSDateFormatter alloc]init];
[date_formatter setDateFormat:@"YYYY-MM-DD-hh-mm-ss"];
NSString *sDateTime = [date_formatter stringFromDate:[NSDate date]];

[date_formatter release];


    // from http://www.cocoadev.com/index.pl?HTTPFileUpload
    NSMutableURLRequest *urlRequest =
    [NSMutableURLRequest requestWithURL:url];
    [urlRequest setHTTPMethod:@"POST"];
    [urlRequest setValue:
        [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundry]
        forHTTPHeaderField:@"Content-Type"];


NSMutableData *postData =  
    [NSMutableData dataWithCapacity:[data length] + 512];
    [postData appendData:
        [[NSString stringWithFormat:@"--%@\r\n", boundry] dataUsingEncoding:NSUTF8StringEncoding]];
    [postData appendData:
     [[NSString stringWithFormat:
           @"Content-Disposition: form-data; name=\"%@\" filename=\"%@_%@.jpg\"\r\n", FORM_FLE_INPUT,sDateTime, filename]
                dataUsingEncoding:NSUTF8StringEncoding]];                         [postData appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

    [postData appendData:data];
    [postData appendData:
        [[NSString stringWithFormat:@"\r\n--%@--\r\n", boundry] dataUsingEncoding:NSUTF8StringEncoding]];

    [urlRequest setHTTPBody:postData];
    return urlRequest;

Не упустил ли я в коде выше что-либо, что вызовет проблему?

Это NSData, который я сгенерировал из AlRasset defaultRepresentation.Можно отправить GIF, но не другой формат

...