Проблема кодирования в ожидании NSData для публикации - PullRequest
0 голосов
/ 21 января 2012

У меня проблема с загрузкой файла на сервер через POST

. Я строю тело запроса, загружая HTML-файл и вставляя данные:

------WebKitFormBoundaryMAsmIFCr12izlsoH
Content-Disposition: form-data; name="token"

%@
------WebKitFormBoundaryMAsmIFCr12izlsoH
Content-Disposition: form-data; name="userfile"; filename="%@"
Content-Type: AES256/encrypted

%@
------WebKitFormBoundaryMAsmIFCr12izlsoH--
Content-Disposition: form-data; name="submit"

Datei absenden
------WebKitFormBoundaryMAsmIFCr12izlsoH--

Но для вставкистрока данных с форматом, это должна быть строка.Поэтому я выделяю initWithData: данные, кодирующие NSASCIIStringEncoding, вызывают невозможность отображения данных в UTF8.Остальная часть запроса находится в UTF8, поэтому впоследствии, если необходимо, dataUsingEncoding: NSUTF8StringEncoding.Это ломает данные.Там некоторые байты не в том месте и так далее.Поэтому я попробовал другой способ, я разделил HTML на две части и сделал из него бутерброд.html, data, html К сожалению, теперь запрос выглядит так, как будто второй html является частью файла, поэтому файл снова поврежден.Вы знаете лучший метод?Заранее спасибо, Яннес

1 Ответ

0 голосов
/ 21 января 2012

Я думаю, что попытка использовать stringWithFormat в корне ошибочна. NSString концептуально является массивом данных Unicode, но данные, которые вы пытаетесь собрать, могут быть недопустимыми. Unicode.

Вам лучше преобразовать различные части заголовка в NSData экземпляры, а затем объединить их с данными, которые вы хотите отправить.

...