ファイルのバイナリ コンテンツの使用に問題があります。ファイルのコンテンツを Web メソッドに渡したい。javascript関数getAsBinary()を介して、ページのファイルアップロードコントロールから取得します。しかし、クラス Image の例を作成しようとすると、web メソッドでエラーが表示されます。そのため、ファイル アップロード コントロールとスクリプト マネージャーを含むページ (.aspx) があります。3 つの JavaScript 関数があります。
// Get image from fileupload control and pass it in webmethod
function Get_image() {
var file_uploader = document.getElementById(file_uploader_name);
var file_content = file_uploader.files[0].getAsBinary();
imupcon.Get_image(file_content, OnRequestComplete, OnError);
}
// Successful execution
function OnRequestComplete(result) {alert(result);}
//Error execution
function OnError() { alert("Error!");}
そして、私は web-method を持つ web-service を持っています:
[WebMethod]
public string Get_image(string file_content, string file_name)
{
byte[] data = Encoding.Unicode.GetBytes(file_content);
MemoryStream memStream = new MemoryStream();
memStream.Write(data, 0, data.Length);
//Error appears here
System.Drawing.Image image = System.Drawing.Image.FromStream(memStream);
memStream.Close();
return "Hurray!";
}
理由は何ですか?ファイルのコンテンツを Web メソッドに渡すにはどうすればよいですか? ありがとう。