0

我想将表单详细信息(姓名、年龄等..)和人的签名作为图像从 Ipad 发送到 Java Web 应用程序服务器。

[http://192.168.1.100:8080/Intranet/checkforimage.htm?name=meena&image= * *][1]

我想知道我应该如何通过 http 将图像从 ipad 发送到服务器。

由于服务器端编码是在java中。我很乐意作为 bytearray 接收和使用。

但问题是如何将 Ipad 中的图像转换为 bytearray 并通过 HTTP 发送?

请帮忙!

4

2 回答 2

0

您可以执行以下操作:

1) 在填写完所有详细信息后捕获表单的屏幕截图并将其保存为 UIImage 对象。您可以使用以下功能捕获屏幕截图:


- (UIImage*)screenshot 
{

CGSize imageSize = [[UIScreen mainScreen] bounds].size; if (NULL != UIGraphicsBeginImageContextWithOptions) UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0); else UIGraphicsBeginImageContext(imageSize); CGContextRef context = UIGraphicsGetCurrentContext(); for (UIWindow *window in [[UIApplication sharedApplication] windows]) { if (![window respondsToSelector:@selector(screen)] || [window screen] == [UIScreen mainScreen]) { CGContextSaveGState(context); // Center the context around the window's anchor point CGContextTranslateCTM(context, [window center].x, [window center].y); // Apply the window's transform about the anchor point CGContextConcatCTM(context, [window transform]); // Offset by the portion of the bounds left of and above the anchor point CGContextTranslateCTM(context, -[window bounds].size.width * [[window layer] anchorPoint].x, -[window bounds].size.height * [[window layer] anchorPoint].y); // Render the layer hierarchy to the current context [[window layer] renderInContext:context]; // Restore the context CGContextRestoreGState(context); } } // Retrieve the screenshot image UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image;

}

2) 将 UIImage 对象转换为 NSData 对象。
3) 使用 NSURLConnection 将 NSData 发送到服务器。

于 2012-06-15T12:45:08.317 回答
0

好的,试试下面的代码:

NSData *imageData = UIImagePNGRepresentation(image);

这将以 NSData 的形式返回 UIImage 对象的 PNG 表示。

如果您的图像是 JPEG 或 JPG,则可以使用以下内容:

NSData *imageData = UIImageJPEGRepresentation(image, 1.0);

您可以使用 NSURLConnection 将此“imageData”直接发送到服务器。

于 2012-06-15T13:20:39.297 回答