Как передать данные изображения в собственный модуль в React Native?
В моем классе, который реализует RCTBridgeModule
протокол в Xcode, я пытаюсь написать RCT_EXPORT_MEATHOD
что я могу предоставить React Native code для использования данных изображения. В настоящее время я могу записать образ на диск в React Native, а затем передать путь к нативному методу, но мне интересно, есть ли лучший метод для прямой передачи данных изображения для лучшей производительности?
Итак, вместо этого:
RCT_EXPORT_METHOD(scanImage:(NSString *)path) {
UIImage *sampleImage = [[UIImage alloc] initWithContentsOfFile:path];
[self processImage: UIImage];
}
Нечто подобное:
RCT_EXPORT_METHOD(scanImage:(NSData *)imageData) {
[self processImageWithData: imageData];
}
1 ответ
Ты можешь использовать [RCTConvert UIImage:icon]
метод из #import <React/RCTConvert.h>
Вам необходимо указать "схема" как "данные". Для получения более подробной информации смотрите исходный код ниже: https://github.com/facebook/react-native/blob/master/React/Base/RCTConvert.m#L762
Для меня это работает:
NSURL *url = [NSURL URLWithString:[imagePath stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]];
UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:url]];
imagePath
является NSString
происходит от реактивного моста (используя react-native-image-picker
ответ - response.uri
).