0

我正在尝试将 base64 详细信息从客户端(java 脚本)发送到服务器(java)。为了减少 base64 的大小,我使用 lz-string.js 如下:

var base64Data = "0dYWVpjZGVmZ2hpanN0dXZ3eHl6g";
var compressed = LZString.compress(base64Data);

如您所知,一旦被 LZ 压缩,数据将如下所示:在此处输入图像描述

因此,我通过以下 Ajax 调用将数据发送到服务器端:

var formData = "img="+compressed";

    jQuery.blockUI();
    jQuery.ajax({
            url : "/myapplication/Saverequest",
        type: "POST",
        data : formData,
        cache: false,
        async:false,
        success: function(data, textStatus, jqXHR) {
        ");

我可以按原样检索我的操作类(java)中的数据。但我无法解压缩数据。我确实要求与我发送的相同!(参考:base64Data)

我确实在网上使用了一些关于 LZ (LZString.Java) 的代码,但它没有解压缩数据!!

请帮助我找到可以解压缩的适当的 java 库。提前致谢。

4

1 回答 1

2

这可以通过以下提及 UTF-8 编码来完成:

  1. 在配置下的 server.xml 中:

    连接器端口="8080" 协议="HTTP/1.1 connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"

  2. 在 HTML/JSP 中:

元内容="text/html; charset=UTF-8" http-equiv="Content-Type

  1. 一开始在java动作类中提到:

    request.setCharacterEncoding("utf-8");

  2. 最重要的是压缩/解压缩不适用于此。我使用了 compressToUTF16/decompressFromUTF16。UTF16 的这种获取结果仅适用!

于 2017-09-15T15:14:49.773 回答