以下のように参照して下さい。コンソールアプリケーションです。
Imports MSXML2
Imports System.IO
Module Module1
Sub Main()
' ****************************
' http 通信用のオブジェクトを作成
' ****************************
Dim ServerXML As New ServerXMLHTTP60()
' ****************************
' 呼び出す URL を設定
' ****************************
Dim URL As String = "http://yourdomain/put/put.php"
' ****************************
' POST する為に開く
' ****************************
ServerXML.open("POST", URL, False)
' ****************************
' タイムアウトの設定
' ****************************
Dim lResolve As Integer = 60 * 1000
Dim lConnect As Integer = 60 * 1000
Dim lSend As Integer = 60 * 1000
Dim lReceive As Integer = 60 * 1000
ServerXML.setTimeouts(lResolve, lConnect, lSend, lReceive)
' ****************************
' ファイルを読み込む為のオブジェクト
' ****************************
Dim fs As New FileStream( _
"C:\user\web\web\put\winofsql.png", _
FileMode.Open, FileAccess.Read)
' ****************************
'ファイルを読み込むバイト型配列
' ****************************
Dim bs(fs.Length - 1) As Byte
'ファイルの内容をすべて読み込む
fs.Read(bs, 0, bs.Length)
'閉じる
fs.Close()
' ****************************
' 送信するデータの長さをヘッダにセット
' ****************************
ServerXML.setRequestHeader("Content-Length", bs.Length)
' 送信
ServerXML.send(bs)
' ****************************
' 結果の表示
' ****************************
Console.WriteLine(ServerXML.responseText)
Console.ReadLine()
End Sub
End Module
本来は、.vbs または .js を拡張子として持つスクリプトから実行するものです。 VBscript(または JScript) で簡単にバイナリファイルをアップロードする 参照した Imports MSXML2 によって、Framework からの処理が可能になっています。PHP 側は、スクリプトで利用した PHP と同じもので、バイト配列を直接 POST して PHP では以下のようにして受け取ります
<?
session_start();
$id = session_id();
$fp = fopen( "php://input", "r" );
$wfp = fopen( "image/$id.png", "w" );
while( $ret = fread( $fp, 4096 ) ) {
fwrite( $wfp, $ret );
}
fclose($wfp);
fclose($fp);
print $id . ".png\n";
?>
で画像が保存されました
この PHP では http ヘッダを指定していませんので、php ソースのキャラクタセットは UTF-8N にする必要があります。他のキャラクタセットで php のソースコードを記述する必要がある場合は、http ヘッダで Content-Type の Charset を明示して下さい。 関連する記事 VB.net : COMの Msxml2.ServerXMLHTTP を使用して http 通信を行う
|
|
【VB.NET : 通信の最新記事】
- VB.net : TKFP.DLL 1.4.3 を使って FTPS でファイル(フォルダ)の一覧を取得する
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して Google のURL短縮サービスを使用する( JSON )
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して URL短縮サービス[bit.ly] を使用する( XML と TEXT )
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して URL短縮サービス[p.tl] を使用する( JSON )
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して WEBアプリにデータを POST する
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して http 通信を行う
- VB.net : IPアドレスを IPv4 と IPv6 に区別して取得する
- Json.NET を使用して JSON 文字列を VB.net で使用する( 逆シリアライズ )
- VB.net : クライアントが送ったヘッダを表示するだけの HTTPサーバーU
- VB.net : クライアントが送ったヘッダを表示するだけの HTTPサーバー( TcpListener )
- VB.NET : TKMP.DLL でメール送信


コンソールアプリケーションです。




