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#)の最新記事】
- Replit : cs-list
- C# : Excel の新しいブックのデフォルトのシートのセルに直接値をセットして、オートフィルを Range オブジェクトから実行する
- C#( Form ) : ウインドウ枠の無い吹き出しの作成
- C# のタプル( Visual Studio 2017 でテスト )
- C# : インターネット上の JSON ファイルのフォーマットを クラスとして定義して1行でオブジェクト化して使用する
- C# の文法的文字列処理
- C# : System.Data.Odbc によるデータベースのテーブルからのデータ取得処理( サンプルの SQL は MySQL 用です )
- C# : Excel を データベースとして DataGridView に読み込む
- C# : dynamic 型 による Excel へのアクセス
- C# : フォームを表示せずに、通知領域にアイコンを表示させる常駐プログラム
- Microsoft Access に対してSQLを入力してその結果を DataGridView に表示する最も簡単なコード
- C# : System.Data.Odbc データ取得(SELECT)処理( MySQL ) : ※ using 無し( Dispose 実行 )
- C# : SQL 文を外部テキストにして、String.Format でデータ部分を置き換えて利用する
- C# コンソールアプリを AN HTTPD で実行
- C# : SQLServer( SQLExpress ) の SMO を使用してテーブルの CREATE TABLE 文 を取得する
- C# : DataGridView に TKMP.DLL の IMAP(POP3) で受信したメールを非同期に表示する( 添付ファイルも取得 )
- C# : TKMP.DLLを使った、メール送信テンプレート
- C# と VB.net : TKMP.DLL を使って IMAP でメール本文の一覧を取得する( コンソール )
- C# でDataTable と DataSource を使用して、DataGridView にデータを表示するテンプレート( 行をダブルクリックしてダイアログを表示して行データを処理 )
- (C#) / VS2010 または VS2012 : TKMP.DLL(3.1.2 または 3.1.8)を使った、『さくらインターネット』用メール送信テンプレート