如何在iOS中将图像转换为二进制格式?
我正在做一个项目,我需要上传图像到我的服务器。我想将图像的二进制数据存储到数据库中的BLOB数据类型字段中。因此,我需要将图像转换为二进制格式。以便将其保存在数据库服务器上如何在iOS中将图像转换为二进制格式?,ios,image,binaryformatter,Ios,Image,Binaryformatter,我正在做一个项目,我需要上传图像到我的服务器。我想将图像的二进制数据存储到数据库中的BLOB数据类型字段中。因此,我需要将图像转换为二进制格式。以便将其保存在数据库服务器上 那么如何将图像转换成二进制格式呢?请告知。您可以使用CoreGraphics”方法UIImagePngPresentation(UIImage*image),该方法返回并保存数据。 如果您想再次将其转换为UIImage请使用[UIImage imageWithData:(NSData*data)]方法创建它 将UIImage
那么如何将图像转换成二进制格式呢?请告知。您可以使用
CoreGraphics
”方法UIImagePngPresentation(UIImage*image)
,该方法返回并保存数据。
如果您想再次将其转换为UIImage
请使用[UIImage imageWithData:(NSData*data)]
方法创建它
将UIImage发送到服务器的演示
- (void)sendImageToServer {
UIImage *yourImage= [UIImage imageNamed:@"image.png"];
NSData *imageData = UIImagePNGRepresentation(yourImage);
NSString *postLength = [NSString stringWithFormat:@"%d", [imageData length]];
// Init the URLRequest
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setHTTPMethod:@"POST"];
[request setURL:[NSURL URLWithString:[NSString stringWithString:@"http://yoururl.domain"]]];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:imageData];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if (connection) {
}
[request release];
}
使用:
根据需要。使用CoreGraphics的方法UIImagePngPresentation(UIImage*image),该方法返回NSData并以这种方式保存。谢谢@BuntyMadan,但它不会将图像转换为二进制格式。但您可以将NSData原始数据发送到服务器,然后将其转换为UIImage。您所说的
二进制格式是什么意思,定义“二进制格式”。手机上的所有内容都是二进制的。请提供前两行的快速示例(在代码块之前)?我正在尝试,但它不起作用。
NSData *data = UIImageJPEGRepresentation(image, 1.0);
//OR
NSData *data = UIImagePNGRepresentation(image);