我需要通过SOAP Web服务将ipad上的用户签名上传到服务器。签名将是Web服务的MIME附件。
需要帮助才能了解iOS上的UIView
或jpg如何转换为二进制数据MIME格式,以便我可以将其作为Web服务的一部分。此外,NSURLConnection
如何处理二进制数据附件。非常感谢。
答案 0 :(得分:0)
如果您需要JPEG或PNG格式数据,可以使用UIImageJPEGRepresentation或UIImagePNGRepresentation将UIImage转换为NSData对象。如果您需要其他格式,则可以使用CGImageDestination;可以从CGImageDestinationCopyTypeIdentifiers获取已接受的UTI列表。如果您只需要原始像素数据,请将图像绘制到CGBitmapImageContext,然后使用CGBitmapContextGetData读出缓冲区; How to get pixel data from a UIImage (Cocoa Touch) or CGImage (Core Graphics)?可以帮助你。
就NSURLConnection而言,无论如何都要使用NSData完成帖子。您可以将multipart / form-data结构或SOAP XML文档正确格式化为NSData,但NSURLConnection可以很好地处理它。
答案 1 :(得分:0)
查看Apple的GLPaint
示例代码,它将为您提供绘制签名的视图。它在我的测试中运行良好(尽管您需要更改画笔纹理图像):http://developer.apple.com/library/ios/#samplecode/GLPaint/Introduction/Intro.html
然后,正如Anomie所说,您可以使用CGBitmapContextGetData()
访问绘制的图像,UIImage
可以将其转换为JPEG格式。
使用NSURLRequest
或第三方SOAP库将JPEG发送到服务器。