我有一个php文件:
echo(gzcompress("TEST COMPRESS"));
在javascript上我在php上做了一个请求,我想要一个函数 做同样的gzuncompress(数据)来取结果=" TEST COMPRESS"再次在客户端。
编辑: 谢谢@ aaronk6,zlib工作了!
如果有人准备好这个问题,如果php使用gzencode(),则zlib将有效,gzcompress将无效。
答案 0 :(得分:2)
正如@SLaks所指出的那样,这可能毫无意义,但这是你问题的答案。
浏览器不具有可从JavaScript访问的解压缩方法,因此没有等价物。如果要在JavaScript中解压缩gzip压缩数据,则需要使用gzip算法的JavaScript实现。
zlib.js似乎能够做到这一点。
答案 1 :(得分:0)
如果您的服务器上运行的是PHP,并且您想用Javascript解压缩 zlib压缩的字符串,那么使用Fetch API
库的替代方法是使用{{ 1}}重新与服务器联系,然后只需使用PHP gzuncompress()
。
示例:
const decompressString = async (compressedString) => {
const decompressionScriptFilepath = '/decompress-string.php';
const compressedStringToSend = { method: 'POST', body: compressedString };
const response = await fetch(decompressionScriptFilepath, compressedStringToSend);
return await response.text();
}
位于/decompress-string.php
的PHP脚本
<?php
$Compressed_String = file_get_contents('php://input');
$decompressedString = gzuncompress($Compressed_String);
echo $decompressedString;
?>
然后,您只需要调用javascript函数:
decompressString('eNoLycgsVgCiRIWS1OISPYWQUf4of5Q/yh/lj/JH+aP8wc0HAERY4KM=');