Выбор и отправка по FTP изображения с камеры - PullRequest
3 голосов
/ 22 февраля 2012

Вот быстрый процесс, который я пытаюсь реализовать:

  1. Пользователь выбирает существующее изображение или видео Camera Roll.
  2. Приложение отправляет выбранное изображение наудаленный FTP-сервер.

Довольно прямолинейно, или так кажется!

Пока что я могу получить UIImagePickerController, чтобы позволить пользователю выбирать изображение из Camera Roll и получатьNSURL изображения с:

NSURL *assetURL = [info objectForKey:UIImagePickerControllerReferenceURL];

это возвращает что-то вроде:

assets-library://asset/asset.JPG?id=ACE09510-60D8-41EF-BC26-0A0A4D57B21C&ext=JPG

Теперь, забегая вперед к части 2, я могу успешно передать файл FTP на удаленный сервер, используяИнфраструктура CFNetwork.

Отсутствующая ссылка здесь, по-видимому, преобразовывает NSURL в формате библиотеки ресурсов в URL-адрес стандартного формата файла, который использует NSFileManager.

Если я использую жестко запрограммированный кодURL файла, указывающий на файл .jpg, уже находящийся в моем комплекте приложений, я могу успешно отправить по FTP.Однако, если я использую отформатированный URL-адрес библиотеки ресурсов, на другом конце я получаю ноль байтов.

Мой вопрос заключается в том, как преобразовать URL-адрес библиотеки ресурсов в обычный URL-адрес файла?Я видел примеры того, как скопировать изображение с камеры в мою папку «Документы».И тогда, я думаю, я мог бы использовать этот файл URL для отправки изображения.Однако, если я планирую отправлять видео, было бы не очень разумно скопировать огромный файл в каталог «Документы» только для того, чтобы отправить его по FTP.

Я понимаю, что FTP не является предпочтительным протоколом, исделано с отверстиями.Тем не менее, это уже существующий FTP-сервер, и мне сказали «как его использовать» теми полномочиями, которые мне платят.

Я, очевидно, упускаю одну или две концепции, как это реализовать.Большое спасибо заранее всем, кто может указать мне правильное направление.

1 Ответ

2 голосов
/ 11 апреля 2012

К сожалению, вы не получаете доступ на уровне файлов к каталогу Assets в iOS (что объясняет, почему вы не можете ссылаться на сам файл фотографии), но вы все равно сможете делать то, что вам нужно, используя ALAssetLibrary для созданияизображение из данных, хранящихся по URL.Посмотрите на ответ на этот вопрос , в котором показано, как создать UIImage с помощью объекта ALAssetRepresentation.Используя эту технику, вы сможете получить данные изображения, необходимые для отправки на FTP-сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...