将多个图像发送到服务器

Posted

技术标签:

【中文标题】将多个图像发送到服务器【英文标题】:Send multiple of images to the server 【发布时间】:2013-12-02 06:23:28 【问题描述】:

我目前正在开发 iPhone 反馈类型的应用程序。用户可以从相机拍摄多张图像。他也可以对此提供反馈和评论。所以,我需要将文本和图像都发送到服务器。为此,我创建了一个具有所有属性(所有文本和图像)的实体类。所以当时我只需要使用单个 php url 通过 POST 发送 70 多个缩略图。由于JSON数据的内存很大,我们可以使用他的图像UUID而不是数据将图像发送到服务器吗?

POST的最大限制默认为8MB左右。我们可以将图像UUID而不是图像数据发送到服务器还是有其他方式?

这是我的代码:

+ (NSString *)getNewGUID

    CFUUIDRef theUUID = CFUUIDCreate(NULL);
    CFStringRef string = CFUUIDCreateString(NULL, theUUID);
    CFRelease(theUUID);
    return (__bridge NSString *)string;

如果我将使用图像 UUID,那么图像是否也会显示在其他 iPhone 设备上?

请帮帮我。

【问题讨论】:

我不确定“图像 UUID”是什么意思?为什么要一次上传 70 张缩略图? @joiningss感谢rpy,检查我更新的问题..创建图像UUID @JoiningssHi..你能不能看看这个链接,给我一些想法......***.com/questions/20495417/… 【参考方案1】:

uuid 不包含图像包含的所有信息,服务器无法获取完整图像,因此无法仅通过 uuid 在其他设备上显示这些图像。您必须自己上传图片。

根据this,即使是图片的Base64编码的二进制数据(将图片转换为纯文本)也是原始数据大小的1.37倍。

为了减少客户端和服务器之间传输的数据的大小,您可以做一些图像大小调整工作,例如:

- (UIImage*)resizeImage 
    CGRect drawRect = RECT_WITH_NEW_SIZE_HERE;
    CGSize newSize = drawRect.size;

    UIGraphicsBeginImageContext(newSize);
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextClearRect(context, CGRectMake(0, 0, newSize.width, newSize.height));

    CGContextSetInterpolationQuality(context, kCGInterpolationMedium);

    [YOUR_IMAGE drawInRect:drawRect blendMode:kCGBlendModeNormal alpha:1];

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return image;

【讨论】:

以上是关于将多个图像发送到服务器的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Android的MultipartEntity将多个图像发送到服务器

在 IONIC 3 中将多个图像发送到服务器的最佳方式

如何将多个图像发送到android中的另一个活动?

如何使用 javascript 将多个图像上传到 cloudinary 并将 url 发送到另一个数据库

在android中将多个图像上传到服务器的最快方法

如何在 iOS 中使用 NSDictionary 添加图像并使用 POST 方法将数组列表发送到服务器