iOS Objective-C 以数组形式上传多张照片到服务器

问题描述 投票:0回答:1

任何人都可以帮助我如何以包含图像数据的数组形式将多张照片上传到服务器。

我做了一些研究,并使用了“multipart/form-data”,但我很困惑如何使其成为图像数组。

我想要:服务器端的图片[image_1, image_2, image_3]。

这是我到目前为止所做的:

if (attachImages.count != 0) {
    
    for(int count = 0; count < attachImages.count; count++){
        
        NSLog(@"Body Image count: %d", count);
        UIImage *image = [attachImages objectAtIndex:count];
        NSData *imageData = UIImageJPEGRepresentation(image, 1);
        
        [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=%@; filename=picture.jpg\r\n", @"pictures[]"] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData: imageData];
    }
    //[body appendData:[[NSString stringWithFormat:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
}

// close form
[body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
ios objective-c restful-url
1个回答
0
投票

因此,一个好主意是将图像转换为数据 URI,如下所示

NSData *imageDAta = UIImagePNGRepresentation(image);
NSString *imageString = [NSString stringWithFormat:@"data:image/png;base64,%@",[imageDAta base64EncodedStringWithOptions:0]];

将数据上传到您的服务器,这将是最快的方法,因此不需要分段上传。当图像到达你的服务器时,你只需要将 URI 转换为数据,根据你使用的语言,可能会有多个包

© www.soinside.com 2019 - 2024. All rights reserved.