【问题标题】:ios objective-c upload several photos to server in form of arrayios Objective-c 将多张照片以数组的形式上传到服务器
【发布时间】:2016-07-08 07:33:02
【问题描述】:

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

我做了一些研究,并使用了“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 api restful-url


【解决方案1】:

因此,一个好主意是将图像转换为像这样的数据 URI

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    • 2018-06-13
    • 2013-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-25
    相关资源
    最近更新 更多