如何在android HttpURLConnection中模仿PHP表单的“推送提交”按钮的动作

时间:2010-11-23 07:15:36

标签: php android httpurlconnection

我找到了一些教程,教我如何通过PHP和html格式将文件上传到我的服务器。

即使我总是在所有这些教程中失败:( ......我仍然认为这些教程是正确的。

这些教程中的大部分都让我觉得我们可以在服务器上用PHP创建metatdata表单,并在android中使用HttpURLConnection类。

但我无法想象我们这些教程如何自动推送“提交”,就像我们通常在浏览器中做的那样@@“

大多数这些教程都是这样的:

  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操作页面获取响应,该页面是服务器中的stroe文件返回有关文件的一些信息)

所以,我猜这些教程基本上推动了“提交”按钮,因为我们从动作PHP页面而不是PHP表单(带有提交按钮)页面得到响应。

但我无法弄清楚他们是如何做到的......

任何人都可以帮助我??? THX !!

(如果您有更好的解决方案将文件上传到服务器或使用PHP网页操作,请同时给我一些建议!! thx !!)

1 个答案:

答案 0 :(得分:1)

HTML中的Submit按钮用于为用户提供决定何时将表单数据发送到服务器的机会。你在这里有的是实际向服务器发送数据的代码:它打开一个HTTP连接,它告诉服务器期望什么样的数据并发送数据(我想dsDataOutputStream

因此,如果您想在Android应用中使用触发这些操作的按钮,请将此代码放入按钮小部件的OnClickListener