Android javascript交互-试图上传文件到CGI

Android javascript interaction - trying to upload file to CGI

本文关键字:文件 CGI javascript 交互 Android      更新时间:2023-09-26

好的,那么让我先说一下,我真的不确定我在这里做什么,如果这是可能的。

我试图建立一个安卓应用程序,将与预先存在的网站进行交互。该站点有一个用于浏览文件的字段和一个上传文件的按钮。点击上传打开一个/upload.cgi,它似乎在重定向到结果页面之前自行完成上传。

是否可以使用底层javascript上传文件,而不必使用网站呈现的预先存在的GUI ?我想只用我自己的界面,但让它与网站有什么互动。

谢谢,为我的模糊道歉。

你也许可以使用Java/JavaScript桥来为你提交表单(使用WebView)。但我猜这会比它的价值更麻烦。你应该可以直接在Java中使用post。

HTML表单中的文件通常使用多部分表单编码的post body上传。像这样:
<form enctype="multipart/form-data" action="upload.cgi" method="POST">
   <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
   Choose a file to upload: <input name="uploadedfile" type="file" /><br />
   <input type="submit" value="Upload File" />
</form>

您所需要做的就是创建与表单生成的相同的post request。这里有一些链接,可以让你开始在Android上创建多部分帖子请求。

如何在Android上使用multipart/form-data上传图片/图像

http://w3mentor.com/learn/java/android-development/android-http-services/example-of-multipart-post-using-android/

http://www.17od.com/2010/02/18/multipart-form-upload-on-android/

http://evgenyg.wordpress.com/2010/05/01/uploading-files-multipart-post-apache/

如果您遇到困难,这里有一个调试技巧:您可以将fiddler安装为CGI服务器上的反向代理,然后您可以监视两个请求(HTML和Java),以比较它们之间的差异。http://www.fiddler2.com/fiddler/help/reverseproxy.asp只要在生产中删除它