今天,我工作了几个小时,我很接近解决办法,但显然需要有人帮助。 我试图把图像张贴到一个网上服务站。 我说,这部法律首先解释了我所尝试的一切:
NSData *imageData = UIImageJPEGRepresentation(barCodePic, .9);
NSString *soapMsg =
[NSString stringWithFormat:
@"<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><WriteImage xmlns="http://myserver/imagewebservice/"><ImgIn>%@</ImgIn></WriteImage></soap:Body></soap:Envelope>", [NSData dataWithData:imageData]
];
NSURL *url = [NSURL URLWithString:@"http://myserver/imagewebservice/service1.asmx"];
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];
NSString *msgLength =
[NSString stringWithFormat:@"%d", [soapMsg length]];
[req addValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[req addValue:@"http://myserver/imagewebservice/WriteImage" forHTTPHeaderField:@"SOAPAction"];
[req addValue:msgLength forHTTPHeaderField:@"Content-Length"];
[req setHTTPMethod:@"POST"];
[req setHTTPBody: [soapMsg dataUsingEncoding:NSUTF8StringEncoding]];
conn = [[NSURLConnection alloc] initWithRequest:req delegate:self];
if (conn) {
webData = [[NSMutableData data] retain];
}
首先,这部法律对除图像外的任何东西都做了罚款。 网络服务在我的地方网络上运行,我可以随意改变来源代码,如果我把“ImgIn”参数改为插图和通过插图,那么所有东西都会奏效,我就没有问题获得回报价值。 因此,根本不存在连接问题,我可以在这个服务器上从这个网络服务站打电话和获取数据,但没有任何问题。 但是,我需要通过ImgIn paraile将图像上载到这一网络服务,因此,到目前为止,上述代码是我最直射的。 我也做了验收反应,的确是收发的,的确是FailWith Error, 等等都在处理中。 每次都发生上述火力。 然而, 数据从未发射,它像网络服务公司本身一样从未运行。 当我对网络服务本身进行ug击时,当我使用直截了当的参数,但用图像参数,它甚至连我称之为网络时,就永远不会减弱。 它几乎像ImgIn参数那样长(在我向屏幕投射时,其巨大)和网络服务只是cho。 我在谈到在使用这种方法时必须编码到第64号基地,但我无法找到这样做的良好联系。 如果说我做错的话,那么,你能够就这样做的方法提供法典,而不仅仅是“你需要使用基地64”,我真心赞赏它,因为我可以找到一个例子来说明如何执行这一点。 除此以外,我还损失了几类,似乎像我这样做一切事。 请帮助!
增 编