Tiff画像をWebサービスに渡したいのですが、WebサービスはTiff画像をパラメーターとして受け取り、Tiff画像に対していくつかの操作を行う必要があります。
TiffImageをパラメータとしてWebサービスに渡す良い方法を教えてください。
前もって感謝します。
Tiff画像をWebサービスに渡したいのですが、WebサービスはTiff画像をパラメーターとして受け取り、Tiff画像に対していくつかの操作を行う必要があります。
TiffImageをパラメータとしてWebサービスに渡す良い方法を教えてください。
前もって感謝します。
enctype="multipart/form-data"
ます。HttpFileCollection files = HttpContext.Current.Request.Files;
Web サービス (フォームの属性) で使用action
して、アップロードされたファイルへのアクセスを取得します: HttpPostedFile file = files["id_of_field_with_filename"];
. ここで、「id_of_field_with_filename」は<input>
、ファイル名を含む HTML フォームのタグの id 属性です。file.SaveAs(someDirectory + Path.GetFileName(file.FileName));
このソリューションでは、Web サービスのメソッド (「アクション」) にパラメーターがないことに注意してください。HTML5 ファイル API を使用して画像を読み込み、JavaScript で base64 に変換し、この文字列を AJAX POST で Web サービスにアップロードすることもできます。この場合、Web サービスのメソッドには、base64 でエンコードされた画像のバイトを受け取るための文字列パラメータが必要です。
私は次のようにします:
//get image from file or smth.
Image img = Image.FromFile(filename);
byte[] bytes;
using (MemoryStream ms = new MemoryStream())
{
img.Save(ms, ImageFormat.Tiff);
bytes = ms.ToArray();
}
string ret = Convert.ToBase64String(bytes);
return ret;