提交 d40e5d15 authored 作者: JarvanMo's avatar JarvanMo

local image supported when sharing on iOS

上级 3e7159a1
...@@ -67,7 +67,7 @@ NSObject <FlutterPluginRegistrar> *_registrar; ...@@ -67,7 +67,7 @@ NSObject <FlutterPluginRegistrar> *_registrar;
if ([imagePath hasPrefix:SCHEMA_ASSETS]) { if ([imagePath hasPrefix:SCHEMA_ASSETS]) {
[self shareAssetImage:call result:result imagePath:imagePath]; [self shareAssetImage:call result:result imagePath:imagePath];
} else if ([imagePath hasPrefix:SCHEMA_FILE]) { } else if ([imagePath hasPrefix:SCHEMA_FILE]) {
[self shareLocalImage:call result:result imagePath:imagePath];
} else { } else {
[self shareNetworkImage:call result:result imagePath:imagePath]; [self shareNetworkImage:call result:result imagePath:imagePath];
} }
...@@ -117,6 +117,52 @@ NSObject <FlutterPluginRegistrar> *_registrar; ...@@ -117,6 +117,52 @@ NSObject <FlutterPluginRegistrar> *_registrar;
} }
- (void)shareLocalImage:(FlutterMethodCall *)call result:(FlutterResult)result imagePath:(NSString *)imagePath {
NSString *thumbnail = call.arguments[fluwxKeyThumbnail];
if ([StringUtil isBlank:thumbnail]) {
thumbnail = imagePath;
}
dispatch_queue_t globalQueue = dispatch_get_global_queue(0, 0);
dispatch_async(globalQueue, ^{
// NSURL *imageURL = [NSURL URLWithString:imagePath];
NSUInteger startIndex = SCHEMA_FILE.length;
// int startIndex = SCHEMA_FILE.e
NSString *imagePathWithoutUri = [imagePath substringFromIndex:startIndex];
//下载图片
NSData *imageData = [NSData dataWithContentsOfFile:imagePathWithoutUri];
UIImage *thumbnailImage = [self getThumbnail:thumbnail size:32 * 1024];
dispatch_async(dispatch_get_main_queue(), ^{
NSString *scene = call.arguments[fluwxKeyScene];
BOOL done = [WXApiRequestHandler sendImageData:imageData
TagName:call.arguments[fluwxKeyMediaTagName]
MessageExt:call.arguments[fluwxKeyMessageExt]
Action:call.arguments[fluwxKeyMessageAction]
ThumbImage:thumbnailImage
InScene:[StringToWeChatScene toScene:scene]
title:call.arguments[fluwxKeyTitle]
description:call.arguments[fluwxKeyDescription]
];
result(@{fluwxKeyPlatform: fluwxKeyIOS, fluwxKeyResult: @(done)});
});
});
}
- (void)shareAssetImage:(FlutterMethodCall *)call result:(FlutterResult)result imagePath:(NSString *)imagePath { - (void)shareAssetImage:(FlutterMethodCall *)call result:(FlutterResult)result imagePath:(NSString *)imagePath {
...@@ -270,7 +316,11 @@ NSObject <FlutterPluginRegistrar> *_registrar; ...@@ -270,7 +316,11 @@ NSObject <FlutterPluginRegistrar> *_registrar;
hdImageData = [NSData dataWithContentsOfFile:[self readImageFromAssets:hdImagePath]]; hdImageData = [NSData dataWithContentsOfFile:[self readImageFromAssets:hdImagePath]];
} else if ([hdImagePath hasPrefix:SCHEMA_FILE]) { } else if ([hdImagePath hasPrefix:SCHEMA_FILE]) {
NSUInteger startIndex = SCHEMA_FILE.length;
// int startIndex = SCHEMA_FILE.e
NSString *imagePathWithoutUri = [hdImagePath substringFromIndex:startIndex];
hdImageData = [NSData dataWithContentsOfFile:imagePathWithoutUri];
} else { } else {
NSURL *hdImageURL = [NSURL URLWithString:hdImagePath]; NSURL *hdImageURL = [NSURL URLWithString:hdImagePath];
hdImageData = [NSData dataWithContentsOfURL:hdImageURL]; hdImageData = [NSData dataWithContentsOfURL:hdImageURL];
...@@ -320,7 +370,13 @@ NSObject <FlutterPluginRegistrar> *_registrar; ...@@ -320,7 +370,13 @@ NSObject <FlutterPluginRegistrar> *_registrar;
thumbnailImage = [ThumbnailHelper compressImage:tmp toByte:size isPNG:FALSE]; thumbnailImage = [ThumbnailHelper compressImage:tmp toByte:size isPNG:FALSE];
} else if ([thumbnail hasPrefix:SCHEMA_FILE]) { } else if ([thumbnail hasPrefix:SCHEMA_FILE]) {
NSUInteger startIndex = SCHEMA_FILE.length;
// int startIndex = SCHEMA_FILE.e
NSString *thumbnailPathWithoutUri = [thumbnail substringFromIndex:startIndex];
NSData *thumbnailData = [NSData dataWithContentsOfFile:thumbnailPathWithoutUri];
UIImage *tmp = [UIImage imageWithData:thumbnailData];
thumbnailImage = [ThumbnailHelper compressImage:tmp toByte:size isPNG:FALSE];
} else { } else {
NSURL *thumbnailURL = [NSURL URLWithString:thumbnail]; NSURL *thumbnailURL = [NSURL URLWithString:thumbnail];
NSData *thumbnailData = [NSData dataWithContentsOfURL:thumbnailURL]; NSData *thumbnailData = [NSData dataWithContentsOfURL:thumbnailURL];
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论