Скажите, что у меня есть код Python:
someString = file("filename.jpg").read()
Как мне воспроизвести эту строку кода в Objective C на iOS? Я пытаюсь преобразовать JPG в строку для возможного кодирования URL, чтобы я мог передать его в API Tumblr. Я попробовал кодирование base64, чтобы сначала преобразовать изображение в строку, но, похоже, от tumblr это не получилось. Я также пробовал NSUTF8Encoding, но эти попытки возвращают ноль строк (см. Ниже).
Почему я это делаю? Кто-то из Tumblr опубликовал пример Python о том, как отправить несколько фотографий для фотосета в ответе на эту тему , и процесс, по-видимому, начинается с преобразования изображений в строки с использованием file.read (). К сожалению, API не принимает простой запрос «multipart / form-data», а только формат «application / x-www-form-urlencoded».
Какую кодировку использует Python для чтения (), и как я могу скопировать ее в Objective C на iPhone?
Я пробовал следующее:
NSString *utf8String = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"filename" ofType:@"jpg"] encoding:NSUTF8StringEncoding error:&error];
Это дает nil
строку и error 261 The operation couldn’t be completed.
Использование кодирования base64 дает мне строку, но API Tumblr не принимает ее после URL-кодирования, поэтому я предполагаю, что он не делает то, что делает Python с read () (хотя я мог просто пропустить шаг). API Tubmlr отвечает "status":400,"msg":"Bad Request"},"response":{"errors":["Error uploading photo."]
Существует аналогичный вопрос о stackoverflow о загрузке фотографий в фотосеты на Tumblr здесь , но этот вопрос более специфичен для опубликованного кода Python.