SQLの窓

2014年07月30日


PowerShell より New-Object で .NET Framework を使って簡単にバイナリファイルをアップロードする

New-Object を使うのは、インスタンス作成の為です。コンストラクタに引き渡す為に使用します。その為に、-ArgumentList を使用しますが、[IO.FileMode]::Open 等の定数を使用する場合に直接指定するとエラーになったので、一旦変数にセットして使用しています。

定数の値が知りたい場合は、[IO.FileMode]::Open.value__ で表示されました。そして、[IO.FileMode]::Open という使用方法は、静的なクラスとメソッドの使用方法です。

冒頭の、HttpWebRequest インスタンスの作成でも使用しています。
# ****************************
# HttpWebRequest インスタンス
# ****************************
$myReq = [Net.WebRequest]::Create("http://yourdomain/put/put.php")
$myReq = [Net.HttpWebRequest]$myReq

# ****************************
# FileStream インスタンス
# ****************************
$FileMode = [IO.FileMode]::Open
$FileAccess = [IO.FileAccess]::Read
$fs = New-Object IO.FileStream -ArgumentList "C:\\user\\winofsql.png",$FileMode,$FileAccess
$length = $fs.Length

# ****************************
# バイト配列の作成
# ****************************
[byte[]]$data = New-Object byte[] $length
# ****************************
# 読み込み
# ****************************
$fs.Read($data, 0, $length)
$fs.Close()

# ****************************
# 送信準備
# ****************************
$myReq.Method = "POST"
$myReq.ContentLength = $length

# ****************************
# データを書き込む
# ****************************
$reqStream = $myReq.GetRequestStream()
$reqStream.Write($data, 0, $length)
$reqStream.Close()

# ****************************
# 結果を取得
# ****************************
$myRes = $myReq.GetResponse()
$resStream = $myRes.GetResponseStream()
$sr = New-Object IO.StreamReader -ArgumentList $resStream, [Encoding]::UTF8
$sr.ReadToEnd() # この行で表示
$sr.Close()



関連する記事


【PowerShellの最新記事】
posted by lightbox at 2014-07-30 15:18 | PowerShell | このブログの読者になる | 更新情報をチェックする
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり