0

私は 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 文字列全体を取得するのを手伝ってください。

4

1 に答える 1

0

私が理解したのは、画像をバイナリとしてデータベースに保存していて、今すぐ取得したいということです。

それが必要な場合は、このリンクの挿入とバイナリでの画像の取得を確認してください

于 2012-05-19T08:04:36.613 に答える