0

.csファイルのgzipを使用してデータを圧縮したプロジェクトがあります。これが私のコードです。

public byte[] CustomerList()
{
    SqlDataAdapter da = new SqlDataAdapter("select CustomerID from CustomerMaster", con);

    DataSet ds = new DataSet();
    da.Fill(ds);
    return CompressData(ds);
}
public byte[] CompressData(DataSet ds)
{
    using (MemoryStream memory = new MemoryStream())
    {
        using (GZipStream gzip = new GZipStream(memory, CompressionMode.Compress))
        {
            var formatter = new BinaryFormatter();
            formatter.Serialize(gzip, ds);
            gzip.Close();
        }

        return memory.ToArray();
    }
}

このzip関数をjsファイルから呼び出し、データをバイト形式で取得しました。

<script type="text/javascript" language="javascript">
$(document).ready(function () {

                $.ajax({
                    type: "POST",
                    url: "Service1.svc/CustomerList",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    processdata: true,
                    success: function (data) {
                        alert(data.CustomerListResult);
                    },
                    error: function () {
                        alert("Error");
                    }
                });
            });

次に、この[byte-data]を復号化して、元の文字列を取得します。ここから問題が始まりました。元のデータを取得するにはどうすればよいですか。つまり、[バイトデータ]を復号化または解凍して元の文字列を取得する方法を意味します。

4

1 に答える 1

1

同様の質問があります。 Gzipおよび JavaScriptのJavaScript実装:解凍/膨張/解凍/ungzip文字列

于 2013-01-28T06:06:08.493 に答える