저는 Xamarin Studio를 처음 접했습니다. 그리고 내가 Xamarin (C#)으로 작성된 다른 코드에서 Objective C로 작성한 코드에서 기능을 사용해야한다.Objective C에서 Xamarin Studio의 HttpWebRequest 클래스 대체 란 무엇입니까?
Xamarin 코드에서 Image의 바이트 스트림이 HttpWebRequest 인스턴스에 연결됩니다. 처리 된 이미지를 얻으려면 서버에 게시해야합니다.
나는 자 마린
using (Stream requestStream = httpWebRequest.GetRequestStream()){}
합니까의 코드로 동일한 기능을 사용하는 방법을 찾을 수없는 것입니다. 다음과 같이
내 자 마린 코드는 다음과 같습니다 -
내가 수집하고 구현 수있는 것을 인터넷을 통해 검색에서HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create (string.Concat (new string[]
{
Common.BaseAddress,
"visualize/",
GenericHelper.ServiceEncrypt (Common.Token),
"/",
Common.AppTag,
"/",
Common.ConstructTreatmentSelections()
}));
httpWebRequest.Method = "POST";
httpWebRequest.ContentType = "application/x-www-form-urlencoded";
using (Stream requestStream = httpWebRequest.GetRequestStream())
{
int num = 2048;
int i = 1;
int num2 = pBytePhotoImage.Length;
while (i < num2)
{
if (i + num > num2)
{
num = num2 - i;
}
requestStream.Write (pBytePhotoImage, i - 1, num);
float fProgress = (float)i/(float)num2;
if (fProgress <= 1f)
{
nSAutoreleasePool.InvokeOnMainThread (delegate
{
pProgressBar.set_Progress (fProgress);
});
}
else
{
nSAutoreleasePool.InvokeOnMainThread (delegate
{
pProgressBar.set_Progress (1f);
});
}
i += num;
}
nSAutoreleasePool.InvokeOnMainThread (delegate
{
pAnimationImage.StartAnimating();
});
}
했다 : - 다음과 같이
내 목표 C 코드는 다음과 같습니다 -
NSData *data = UIImageJPEGRepresentation(self.imageView.image, 0.2);
NSString *webServiceURL = @"https://webserviceNameBaseAddress/visualize/lEr0WKCdarv2FLGFvBRbhs41FN7zhgcdiwuEqFtLQINJ|PQpM8HEGQ~~/ios/SL|VL|OC|ML|";
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ;
[request setURL:[NSURL URLWithString:webServiceURL]];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:data];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData * responseData, NSError *err) {
NSLog(@"URL Response");
if (err) {
NSLog(@"Err %@",err.description);
}else
{
if (responseData) {
NSLog(@"%@",[UIImage imageWithData:responseData]);
}
else{
NSLog(@"not returning anything");
}
}
}];
Xcode에서 코드를 실행하면 출력은 다음과 같습니다. -
Error Domain=NSURLErrorDomain Code=-1000 "bad URL" UserInfo=0x75a9ea0 {NSUnderlyingError=0x7189250 "bad URL", NSLocalizedDescription=bad URL}
도움이 될 것입니다. 이틀이 지나서야 붙어 있습니다.
PS : - Xamarin App Code에서 POST 요청을위한 webService URL을 추출합니다. 내가 한 것은이었다 난 자 마린 에서 Consol.WriteLine()의 도움으로 URL 문자열을 인쇄 한 후 NSMutableURLRequest
이것은 ios 보안입니다. 어쩌면이 도움이 될 것입니다 http://stackoverflow.com/questions/6287230/bad-url-when-requesting-with-nsurl 또는 http://stackoverflow.com/questions/10782591/nsurlerrordomain-code-1000-bad-url- 무슨 뜻입니까? - 정말 - 의미 - –
나는 무엇이 작동하고 무엇이 아닌지 이해하지 못합니다. ObjC 버전은 괜찮지 만 C# 버전은 그렇지 않습니까? 혹은 그 반대로도? Xcode에서 오류가 발생하면 분명히 Xamarin을 사용하지 않는 것입니다. 혼란 스럽습니다. – Krumelur
그는 C# 코드를 ObjC로 변환하려고합니다. 모든 코드를 사용할 수있는 것은 아니기 때문에 무엇이 잘못되었는지를 판단하기가 어렵습니다. 연결하려는 서버 주소 : "webserviceNameBaseAddress"입니까? – SKall