Вопрос
У меня есть функциональность приложения, которая проверяет, размыта ли фотография. Теперь я следовал этому уроку: Урок
Этот туториал берет представление base64 изображения и передает его собственной функции.
RCT_EXPORT_METHOD(checkForBlurryImage:(NSString *)imageAsBase64 callback:(RCTResponseSenderBlock)callback){...}
Но, как вы знаете, base64 для больших изображений работает довольно медленно. Я хотел бы передать путь к файлу, в котором сохранено изображение, а затем открыть его в Objectve-C
. Я предполагаю, что таким образом время обработки будет быстрее при значительно меньших затратах.
Я попытался реализовать это следующим образом:
RCT_EXPORT_METHOD(checkForBlurryImage2:(NSString *)imagePath callback: (RCTResponseSenderBlock)callback){
UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
...
}
Я использовал встроенную функцию API UIImage imageWithContentsOfFile
, которая считывает изображение из файловой системы.
Задача
Проблема в том, что когда верхняя функция возвращает nil
. В документации говорится, что nil
возвращается, если путь неверен или изображение не может быть открыто.
Путь, который я обычно получаю от камеры, выглядит следующим образом:
Файл: ///var/mobile/Containers/Data/Application/FD0CBDBA-8B59-4618-B1A8-006FA4D33901/Library/Caches/Camera/804062B5-896F-4AAF-A35F-4F10A648B916.jpg
Как правильно открыть изображение из пути к файлу?