Ios 将映像路径数组转换为base64编码字符串。?

Ios 将映像路径数组转换为base64编码字符串。?,ios,objective-c,base64,Ios,Objective C,Base64,我想将文档目录中的图像路径数组转换为编码的baSE 64字符串 这是我的密码 NSArray *recipeImages = [savedImagePath valueForKey:@"Image"]; 此数组包含图像的路径(多个图像) 这是阵列在日志中的外观 Saved Images == ( "/Users/ZAL02M/Library/Developer/CoreSimulator/Devices/F1F3C01E-8686-4367-82FB-80B003E2F416/data/Co

我想将文档目录中的图像路径数组转换为编码的baSE 64字符串

这是我的密码

NSArray *recipeImages = [savedImagePath valueForKey:@"Image"];
此数组包含图像的路径(多个图像)

这是阵列在日志中的外观

 Saved Images == (
"/Users/ZAL02M/Library/Developer/CoreSimulator/Devices/F1F3C01E-8686-4367-82FB-80B003E2F416/data/Containers/Data/Application/694494B1-0DCA-497A-B8B0-586276EEF240/Documents/cached0.png",
"/Users/ZAL02M/Library/Developer/CoreSimulator/Devices/F1F3C01E-8686-4367-82FB-80B003E2F416/data/Containers/Data/Application/694494B1-0DCA-497A-B8B0-586276EEF240/Documents/cached1.png"
 )
如何制作base64字符串?

通过
base64EncodedStringWithOptions:

代码如下:

NSArray *recipeImages = [savedImagePath valueForKey:@"Image"];
NSMutableArray *mutableBase64StringsArray = @[].mutableCopy;

for (NSString *imagePath in recipeImages)
{
    NSData *imagePathData = [imagePath dataUsingEncoding:NSUTF8StringEncoding];
    NSString *base64ImagePath = [imagePathData base64EncodedStringWithOptions:0];
    [mutableBase64StringsArray addObject:base64ImagePath];
}
mutableBase64StringsArray
中,所有图像路径都是base64编码字符串

查看SO的这篇文章,了解更多解释:

你可以试试这个

编码

- (NSString *)encodeToBase64String:(UIImage *)image {
 return [UIImagePNGRepresentation(image) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
}
- (UIImage *)decodeBase64ToImage:(NSString *)strEncodeData {
  NSData *data = [[NSData alloc]initWithBase64EncodedString:strEncodeData options:NSDataBase64DecodingIgnoreUnknownCharacters];
  return [UIImage imageWithData:data];
}
解码

- (NSString *)encodeToBase64String:(UIImage *)image {
 return [UIImagePNGRepresentation(image) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
}
- (UIImage *)decodeBase64ToImage:(NSString *)strEncodeData {
  NSData *data = [[NSData alloc]initWithBase64EncodedString:strEncodeData options:NSDataBase64DecodingIgnoreUnknownCharacters];
  return [UIImage imageWithData:data];
}
要从
路径获取
图像
,可以使用此代码

NSString* imagePath = [recipeImages objectAtIndex:i];
UIImage *image = [[UIImage alloc] initWithContentsOfFile:imagePath];
然后将
编码的
内容
添加到
数组


希望能有所帮助。

尝试以下方法循环所有图像,并将每个编码字符串保存到新数组中:

NSMutableArray *encodedImages = [NSMutableArray new];

for (NSString *path in recipeImages)
{
    UIImage *image       = [UIImage imageWithContentsOfFile:path];
    NSData *imageData    = UIImagePNGRepresentation(image);
    NSString *dataString = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];

    [encodedImages addObject:dataString];
}

你能举一个例子吗,因为我已经搜索了很多次,但没有弄清楚到底需要做什么?谢谢-@Jacopo PenzoHow将这个数组发送到JSON@Ammy尝试类似的方法来获取JSON字符串: