Загрузка файла iPhone - PullRequest
       14

Загрузка файла iPhone

0 голосов
/ 10 августа 2011

Я создаю нативное приложение для iPhone, в котором есть функция загрузки файлов.Мне нужно проверить и подтвердить, был ли файл загружен полностью.Как мне этого добиться?Мой серверный скрипт для приема данных файла и записи / создания файла на сервере построен на PHP.

Поэтому я пытаюсь сделать 2 вещи: 1. Рассчитать контрольную сумму файла с iPhone и отправитьэто в PHP-скрипт 2. Как только PHP-скрипт создает файл на сервере, пересчитайте контрольную сумму и сравните ее с опубликованным значением.

Мой запрос здесь: я использую MD5 для вычисления контрольной суммы, но возвращаемые значенияпо целям c и PHP скрипт отличается?

Какой самый лучший способ вычислить контрольную сумму на iPhone?которые могут быть сопоставлены на стороне сервера.

Пожалуйста, предложите.Спасибо

1 Ответ

1 голос
/ 10 августа 2011

Вот фрагмент кода, который я всегда использую для md5sums:

    - (NSString *) md5:(NSString *) input
{
    const char *cStr = [input UTF8String];
    unsigned char digest[16];
    CC_MD5( cStr, strlen(cStr), digest ); // This is the md5 call

    NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];

    for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
        [output appendFormat:@"%02x", digest[i]];

    return  output;

}

Проверьте ASIFormDataRequest здесь http://allseeing -i.com / ASIHTTPRequest / How-to-use Это оченьполезная обертка для такого рода операций.Ниже моего codenippet для загрузки файла и md5sum:

ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:[NSURL URLWithString: uploadUrl]] autorelease];
    [request setPostValue:md5sum forKey:@"md5sum"];
    [request setFile:[[NSURL URLWithString:filename] path] forKey:@"file"];
    [request startSynchronous];

Убедитесь, что вы проверили на стороне сервера, если все в порядке (md5sums совпадают, и файл был загружен нормально).Затем оцените ответ вашего сервера с помощью [request responseString] и примите соответствующие меры.

...