Веб-сервис C # для приема параметров изображения и текста с iphone - PullRequest
0 голосов
/ 22 октября 2011

Я использую POST, как обсуждалось здесь , чтобы загрузить изображение и некоторые параметры на сервер. На стороне сервера я использую поток для приема данных изображения, но в первый раз я, кажется, делаю что-то не так. Может ли кто-нибудь указать мне правильное направление.

РЕДАКТИРОВАТЬ: Используя тот же код на стороне клиента (iPhone), как описано в ссылке выше. и мой код сервера примерно такой. Использование хранимой процедуры для вставки в БД, но я не уверен, что POST даже достигает метода.

public void PublishIncident(string latd,string longt,string description, string picdatetime,            Stream data)
{ 
 latd = latd.Replace("-", ".");
 longt = longt.Replace("-", ".");

 string sImageName = string.Empty;
 DatabaseHelper dalInstance = new DatabaseHelper(sConnStr);
 try
 {
  dalInstance.AddParameter("pDescription", description);
  dalInstance.AddParameter("oImageName", "", ParameterDirection.Output);
  dalInstance.ExecuteNonQuery("rt_InsertIncident", CommandType.StoredProcedure);
  sImageName = Convert.ToString(dalInstance.Command.Parameters[4].Value);

  _streamToFile(sImageName, longt, description, picdatetime, data);
 }
 catch (Exception excp)
 {
   dalInstance.Dispose();
   throw excp;

 }
 finally
 {
     dalInstance.Dispose();
 }
 }

Когда я запускаю его с iphone, я получаю ответ об отсутствии страницы.

1 Ответ

0 голосов
/ 14 ноября 2011

Я пошел дальше и использовал инфраструктуру ASHIT, и все заработало как шарм.Просто загрузите фреймворк и код для фактической загрузки изображения и параметров так же просто, как -

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:urlURL]; // url to hit + parameters
[request setRequestMethod:@"POST"];

[request appendPostData:imageData]; // image as data
[request startSynchronous];
NSError *error = [request error];

if (error) {
    NSLog(@"error = %@", error);                
}
else
{
    // success
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...