3

私は Visual Basic 6 を使用しており、PDF ファイルと共にカスタム入力フィールドを送信して、サーバー (Java コードを実行) に HTTP POST を実行したいと考えています。PDF ファイルはベース 64 ビットでエンコードするか、ファイルをアップロードするときにインターネット経由で HTTP POST が機能する通常の方法を使用する必要があります。基本的に、Visual Basic 6 プログラムからファイルをアップロードしたいだけです。

どうすればいいですか?ソースコードの例はありますか?

4

2 に答える 2

3

PDFをバイト配列にロードする方法を知っていると仮定すると、Base64でエンコードしてから、MIMEマルチパートエンコーディングを使用してサーバーに投稿する必要があります。

MSXML ライブラリの機能を利用して、Base64 エンコーディングを実行できます。詳細については、このリンクを参照してください。

PDF を Bas64 文字列として取得したら、それを MIME マルチパートとしてパッケージ化する必要があります。MSXML の XMLHTTP オブジェクトを使用して、その投稿を実行できます。

sEntityBody = "----boundary" & vbCrLf
sEntityBody = sEntityBody & "Content-Disposition: form-data; name=fileInputElementName; filename=""" + sFileName + """" & vbCrLf
sEntityBody = sEntityBody & "Content-Transfer-Encoding: base64" & vbCrLf
sEntityBody = sEntityBody & "Content-Type: application/pdf" &  vbCrLf & vbCrLf
sEntityBody = sEntityBody & sPDFBase64 & vbCrLf
sEntityBody = sEntityBody & "-----boundary--" & vbCrLf & vbCrLf

Set xhr = New MSXML2.XMLHTTP30
xhr.setRequestHeader("Content-Type", "multipart/form-data; boundary=-----boundary")
xhr.Open "POST", sUrl, False
xhr.send sEntityBody

おそらくエレガントでも効率的でもありませんが、うまくいくはずです。

于 2009-06-09T11:05:53.033 に答える