私は webservice を介して画像を返したいので、データベース内の画像をバイトに変換してから、バイトから base64 文字列に変換して webservice に戻そうとしましたが、途中で完了しましたが、文字列全体を返すことができませんでした。文字列サイズの制限か何か?
<%@ WebService Language="C#" Class="Service" %>
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.IO;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
public Service () {
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public string IMAGE(string ID)
{
SqlConnection conn = new SqlConnection("Data Source=NEWCRISP19;Initial Catalog=masselango;Persist Security Info=True;User");
conn.Open();
SqlDataAdapter sdImageSource = new SqlDataAdapter();
sdImageSource.SelectCommand = new SqlCommand("select ImageData from ImagesStore where ImageId=('" + ID + "')", conn);
DataSet dsImage = new DataSet();
sdImageSource.Fill(dsImage);
byte[] blob = (byte[])dsImage.Tables[0].Rows[0][0];
String c = Convert.ToBase64String(blob);
//c = c.Replace(" ", "");
return c;
}
}
web.config は変更されていません。
base64 文字列全体を取得するのを手伝ってください。