Как имитировать действие кнопки «push submit» формы PHP в Android HttpURLConnection - PullRequest
1 голос
/ 23 ноября 2010

Я нашел учебник, который научил меня загружать файл на мой сервер через PHP и HTML-форму.

Даже несмотря на то, что я всегда терпел неудачу во всех этих уроках: (... Я все еще предполагаю, что ониучебник правильный.

Большинство из этих руководств говорят о том, что мы можем создать форму метаданных в PHP на нашем сервере и использовать класс HttpURLConnection в Android.

Но я не могу понять, как этиучебник автоматически нажимает кнопку «отправить», как мы обычно делаем в браузере @@ "

Большинство этих руководств выглядят так:

  URL url =new URL(actionUrl);
  HttpURLConnection con=(HttpURLConnection)url.openConnection();
  con.setDoInput(true);
  con.setDoOutput(true);

  con.setUseCaches(false);
  con.setRequestMethod("POST");
  con.setRequestProperty("Connection", "Keep-Alive");
  con.setRequestProperty("Charset", "UTF-8");
  con.setRequestProperty("Content-Type",
                     "multipart/form-data;boundary="+boundary);
  //omit some code that start to output the file stream to url connection stream

  ds.writeBytes(end);
  ds.writeBytes(twoHyphens + boundary + twoHyphens + end);
  //omit some code theat start read url connection response stream

(извините, но я пропускаю некоторые строки второстепенного кодаздесь, но результат урока говорит нам, что после того, как мы используем эти настройки подключения к форме PHP, мы можем получить ответ от другой страницы действий PHP, которая проверяет файл на сервере и возвращает некоторую информацию о файле)

Итак,Я полагаю, что этот урок, так или иначе, по сути нажимает кнопку «отправить», потому что мы получаем ответ со страницы действия PHP, а не со страницы формы PHP (с кнопкой отправки).

НоЯ не могу понять, как они вообще это делают ...

Кто-нибудь может мне помочь ???Thx !!

(если у вас есть лучшее решение для загрузки файла на сервер или манипуляции с веб-страницей PHP, пожалуйста, дайте мне несколько советов !! thx !!)

1 Ответ

1 голос
/ 23 ноября 2010
Кнопка

A Submit в HTML используется, чтобы дать пользователю возможность решить, когда отправлять данные формы на сервер.Здесь у вас есть код, который фактически отправляет данные на сервер: он открывает HTTP-соединение, сообщает серверу, какие данные ожидать, и отправляет данные (я полагаю, ds - это DataOutputStream).

Итак, если вы хотите, чтобы в вашем Android-приложении была кнопка, запускающая эти действия, поместите этот код в OnClickListener виджета кнопки.

...