как переименовать изображение, снятое в объективе c? - PullRequest
2 голосов
/ 18 ноября 2011

В моем приложении мне нужно захватить изображение, а также сохранить его в локальной библиотеке и на сервере, используя FTP.Теперь мне нужно следовать формату имени изображения при сохранении его на сервере.Я могу захватить и сохранить изображение в локальной библиотеке.Но я не могу найти какой-либо способ изменить имя изображения.Предположим, мне нужно переименовать его в Productname-UserId.png Есть ли способ?Пожалуйста, помогите.

Спасибо.

Ответы [ 2 ]

4 голосов
/ 18 ноября 2011

UIImagePNGRepresentation (UIImage *), скорее всего, то, что вы ищете.Вы можете сохранить UIImage в виде файла PNG в папке «Документы приложения», а затем загрузить его на сервер.Код для этого достаточно тривиален, поэтому, если бы вы могли опубликовать код, который вы пытаетесь использовать, это было бы полезно для понимания и рекомендации решения для вас.

Вот краткий фрагмент моего кодаэто делает именно это:

UIImage * image; // Some image you want to send

NSString * docDirWithSlash = [[self applicationDocumentsDirectory] stringByAppendingString:@"/"];
NSString * pngFile = [docDirWithSlash stringByAppendingString:file]; // <-- Change the string "file" to reflect the name you want.
[UIImagePNGRepresentation(image) writeToFile:pngFile atomically:YES];

// Send pngFile to the server here

Где applicationDocumentsDirectory выглядит следующим образом:

- (NSString *) applicationDocumentsDirectory
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

    NSString *documentsDirectoryPath = [paths objectAtIndex:0];
    return documentsDirectoryPath;
}
0 голосов
/ 18 ноября 2011

Реальный вопрос здесь в том, где вы хотите, чтобы имя файла было конкретным?На устройстве или на сервере.В случае устройства используйте ответ Чарльза, в противном случае вы должны посмотреть протокол HTTP (часть загрузки файла).На самом деле не имеет значения, какое имя у файла на вашем локальном устройстве, так как при отправке его на сервер через http, вы можете указать любое имя.Сложность в том, что сервер, на который вы загружаете, должен учитывать этот параметр при сохранении этого файла.Так что, если вы загружаете на сервер, на котором у вас нет руки, и он делает некоторые соглашения о самостоятельном именовании - вы, вероятно, застряли.Если это ваше - посмотрите, как вы сохраняете файлы на стороне сервера, и принимаете ли вы во внимание этот параметр "filename" ...

PS И не забудьте передать этот аргумент в загрузкузапрос:)

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