2011-11-09 6 views
0

申し訳ありませんが、ここで私がここでやっていることが全然不可能であるかどうかについては本当に分かりません。AndroidのJavaScriptのやりとり - CGIにファイルをアップロードしようとしています

私は既存のウェブサイトとやり取りするアンドロイドアプリを構築しようとしています。サイトにはファイルを参照するフィールドがあり、ボタンでアップロードできます。ヒットアップロードは/upload.cgiを開き、結果ページにリダイレクトする前にアップロード自体を行うようです。

ウェブサイトが提供する既存のGUIを使用せずにファイルをアップロードするために、基礎となるjavascriptを使用することはできますか?私は自分のインターフェースを使ってみたいですが、ウェブサイトの内容とやり取りをします。

ありがとうございました。曖昧さに対してお詫び申し上げます。

答えて

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サーバー上のリバースプロキシとしてシオマネキをインストールすることができ、その後、あなたが見ることができます両方のリクエスト(HTMLとJava)を比較して、違いを比較します。 http://www.fiddler2.com/fiddler/help/reverseproxy.asp生産用に取り除くだけです。

関連する問題