VB.net(2010) : COMの Msxml2.ServerXMLHTTP を使用して WEBアプリにバイナリデータを POST する VBscript(または JScript) で簡単にバイナリファイルをアップロードする いずれも同じ処理です。C# では、VB.net に比べていくぶん表現が厳密になっているのが解ります。文字列に使われている @ は、逐語的リテラル文字列と呼ばれており、使いやすさと読みやすさを考慮しています。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using MSXML2; using System.IO; namespace PngUpload { class Program { static void Main(string[] args) { // **************************** // http 通信用のオブジェクトを作成 // **************************** ServerXMLHTTP60 ServerXML = new ServerXMLHTTP60(); // **************************** // 呼び出す URL を設定 // **************************** String URL = "http://yourdomain/put/put.php"; // **************************** // POST する為に開く // **************************** ServerXML.open("POST", URL, false); // **************************** // タイムアウトの設定 // **************************** int lResolve = 60 * 1000; int lConnect = 60 * 1000; int lSend = 60 * 1000; int lReceive = 60 * 1000; ServerXML.setTimeouts(lResolve, lConnect, lSend, lReceive); // **************************** // ファイルを読み込む為のオブジェクト // **************************** FileStream fs = new FileStream( @"C:\user\web\web\put\winofsql.png", FileMode.Open, FileAccess.Read); // **************************** // ファイルを読み込むバイト型配列 // **************************** byte[] bs = new byte[fs.Length]; // ファイルの内容をすべて読み込む fs.Read(bs, 0, bs.Length); // 閉じる fs.Close(); // **************************** // 送信するデータの長さをヘッダにセット // **************************** ServerXML.setRequestHeader("Content-Length", bs.Length.ToString()); // 送信 ServerXML.send(bs); // **************************** // 結果の表示 // **************************** Console.WriteLine(ServerXML.responseText); Console.ReadLine(); } } }
関連する記事
|
【VS(C#)の最新記事】
- VS2010(C#) : TKMP.DLLを使った、メール送信テンプレート
- (C#) / VS2010 または VS2012 : TKMP.DLL(3.1.2 または 3.1.8)を使った、『さくらインターネット』用メール送信テンプレート
- C# : Excel を データベースとして DataGridView に読み込む
- C# : dynamic 型 による Excel へのアクセス
- C# でDXライブラリを使って簡単なシューティングをクラス化して標準化 / メインループとプレイヤー (4)
- C# でDXライブラリを使って簡単なシューティングをクラス化して標準化 / メインループとプレイヤー (3)
- C# でDXライブラリを使って簡単なシューティングをクラス化して標準化 / メインループとプレイヤー (2)
- C# でDXライブラリを使って簡単なシューティングをクラス化して標準化 / メインループとプレイヤー (1)
- Visual Studio 2012 : 表示メニューから、ツールボックス等のコマンドが消えてしまった場合の個別登録
- C# : Microsoft Access のテーブルとビューの一覧と任意の SQL を実行するテンプレート
- C# でDXライブラリを使って簡単なシューティング部分を作るサンプル
- Microsoft Access に対してSQLを入力してその結果を DataGridView に表示する最も簡単なコード
- System.Data.OleDb で select into 構文を使って簡単に Microsoft Access のデータを他の データベースにエクスポートする
- C# : System.Data.OleDb で Microsoft Access のデータを読み取る
- C#(VS2010) : dynamic 型を使用して CreateObject と同等に Scripting.FileSystemObject を使用する
- VS(C#) : DataGrid に バインドを使用して JSON データの配列を表示する( Json.NET を使用 )
- csc.exe を使用して、コマンドプロンプトから C# 5 のアプリケーションをビルドする
- キネクトでブラウザを動かす
- VS(C#) : Json.NET を使用して文字列形式の JSON をプログラムで参照する具体的な方法
- VS2010(C#) : HttpWebRequest クラスを使用して WEBアプリにバイナリデータを POST する