将 UIImages 数组转换为 base64 字符串
Convert an array of UIImages into base64 string
我在以下位置有多个图像 (UIImage
) 的数组:
NSMutableArray *myImages = [[NSMutableArray alloc] initWithArray:attachment];
并且我想将它作为带逗号的 base64
string
传递给 API 服务器。如,(Base64String
,Image1
), (Base64String
,Image2
)等
注意:这是我以前对不是数组的单个图像的处理方式。
(NSData *)attachment //get as a parameter
NSData *base64Data = [attachment base64EncodedDataWithOptions:0];
NSString *str = [[NSString alloc] initWithData:base64Data encoding:NSUTF8StringEncoding];
NSString *base64Image = [NSString stringWithFormat:@"%@,%@", str, @"image1"];
parameters[@"Attachment"] = base64Image; //pass to API as parameter
非常感谢您的帮助。谢谢。
NSMutableArray *myImagesData = [[NSMutableArray alloc] init];
if (myImages.count != 0){
for (int i = 0; i <= myImages.count-1; i++) {
UIImage *img = myImages[i];
NSData *base64Data = [img base64EncodedDataWithOptions:0];
NSString *str = [[NSString alloc] initWithData:base64Data encoding:NSUTF8StringEncoding];
[myImagesData addObject:str];
}
}
//you will get all images data in array
在我看来你已经拥有了你需要的一切。只需创建一个可变字符串并使用 for 循环附加每个 base64 编码的图像,如下所示(快速输入且未经测试):
NSMutableString *result = [NSMutableString new];
for (int i = 0; i < myImages.count; i++) {
NSData *base64Data = [myImages[i] base64EncodedDataWithOptions:0];
NSString* str = [[NSString alloc] initWithData:base64Data encoding:NSUTF8StringEncoding];
NSString *base64Image = [NSString stringWithFormat:@"(%@,%@%d),", str, @"image", i+1];
[result appendFormat:@"%@", base64Image];
}
然后您可以 trim 去掉最后的逗号,您就得到了所需的字符串。
我在以下位置有多个图像 (UIImage
) 的数组:
NSMutableArray *myImages = [[NSMutableArray alloc] initWithArray:attachment];
并且我想将它作为带逗号的 base64
string
传递给 API 服务器。如,(Base64String
,Image1
), (Base64String
,Image2
)等
注意:这是我以前对不是数组的单个图像的处理方式。
(NSData *)attachment //get as a parameter
NSData *base64Data = [attachment base64EncodedDataWithOptions:0];
NSString *str = [[NSString alloc] initWithData:base64Data encoding:NSUTF8StringEncoding];
NSString *base64Image = [NSString stringWithFormat:@"%@,%@", str, @"image1"];
parameters[@"Attachment"] = base64Image; //pass to API as parameter
非常感谢您的帮助。谢谢。
NSMutableArray *myImagesData = [[NSMutableArray alloc] init];
if (myImages.count != 0){
for (int i = 0; i <= myImages.count-1; i++) {
UIImage *img = myImages[i];
NSData *base64Data = [img base64EncodedDataWithOptions:0];
NSString *str = [[NSString alloc] initWithData:base64Data encoding:NSUTF8StringEncoding];
[myImagesData addObject:str];
}
}
//you will get all images data in array
在我看来你已经拥有了你需要的一切。只需创建一个可变字符串并使用 for 循环附加每个 base64 编码的图像,如下所示(快速输入且未经测试):
NSMutableString *result = [NSMutableString new];
for (int i = 0; i < myImages.count; i++) {
NSData *base64Data = [myImages[i] base64EncodedDataWithOptions:0];
NSString* str = [[NSString alloc] initWithData:base64Data encoding:NSUTF8StringEncoding];
NSString *base64Image = [NSString stringWithFormat:@"(%@,%@%d),", str, @"image", i+1];
[result appendFormat:@"%@", base64Image];
}
然后您可以 trim 去掉最后的逗号,您就得到了所需的字符串。