是否可以通过Web服务发送图像?

时间:2012-09-04 10:11:14

标签: iphone web-services coldfusion

我已经在iphone中使用了coldfusion webservice.我要在远程服务器上放置的iphone应用程序上显示图像。使用coldfusion webservice我可以从远程服务器检索图像。我想通过webservice.so将该图像发送到iphone应用程序。是否有可能?请帮助我。提前谢谢

3 个答案:

答案 0 :(得分:1)

使用cffile或cfimage读入文件。 Base64对数据进行编码,然后将其发送到Web服务中。在iPhone应用程序base64解码,您将拥有图像的二进制文件。

答案 1 :(得分:1)

保罗走在正确的轨道上。但是,您可能需要以不同方式读取源文件。根据我过去发现的内容,您需要获取文件的二进制文件和base64。所以,这段代码应该对你有用..

<cfset myFile = toBase64(fileReadBinary('path.to.image.file'))>

答案 2 :(得分:-1)

您可以通过创建表单上传代码以下代码

-(void)UploadImage{

NSString *urlString = @"yourUrl";
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];

NSMutableData *body = [NSMutableData data];


NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request addValue:contentType forHTTPHeaderField:@"Content-Type"];

// file
NSData *imageData = UIImageJPEGRepresentation([self scaleAndRotateImage:[selectedImageObj]],90);


[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
// [body appendData:[[NSString stringWithString:@"Content-Disposition: attachment; name=\"user_photo\"; filename=\"photoes.jpg\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"image\"; filename=\"%@.jpg\"\r\n",@"ImageNmae"] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];


// close form
[body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
// set request body
[request setHTTPBody:body];
//return and test
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];

  }