【问题标题】:Android javascript interaction - trying to upload file to CGIAndroid javascript交互-尝试将文件上传到CGI
【发布时间】:2011-12-25 00:22:09
【问题描述】:

好的,所以让我先说我真的不确定我在这里做什么以及是否有可能。

我正在尝试构建一个与现有网站交互的 Android 应用。该站点有一个用于浏览文件的字段,以及一个上传文件的按钮。点击上传会打开一个 /upload.cgi,它似乎会在重定向到结果页面之前自行上传。

是否可以使用底层 javascript 来上传文件,而不必使用网站提供的预先存在的 GUI?我想只使用我自己的界面,但让它与网站所拥有的交互。

感谢,并为含糊不清表示歉意。

【问题讨论】:

    标签: javascript android file-upload cgi


    【解决方案1】:

    您也许可以使用 Java/JavaScript 桥接器为您提交表单(使用 WebView)。但我的猜测是,这将比它的价值更麻烦。而且您应该可以使用帖子直接在 Java 中完成。

    HTML 表单中的文件通常使用多部分表单编码的帖子正文上传。像这样的:

    <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>
    

    您需要做的就是创建表单将生成的相同发布请求。以下是一些链接,可帮助您开始在 Android 上创建多部分发布请求。

    How use multipart/form-data upload picture/image on Android

    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/

    如果您遇到问题,这里有一个调试提示:您可以在 CGI 服务器上安装 fiddler 作为反向代理,然后您可以观察两个请求(HTML 和 Java),因为它们碰巧比较它们的差异。 http://www.fiddler2.com/fiddler/help/reverseproxy.asp 只需将其删除以进行生产。

    【讨论】:

      猜你喜欢
      • 2021-11-06
      • 2012-06-07
      • 1970-01-01
      • 1970-01-01
      • 2020-11-11
      • 2019-11-29
      • 2013-11-04
      • 2021-01-10
      • 1970-01-01
      相关资源
      最近更新 更多