一种缩短我的URL字符串的方法

时间:2014-02-05 16:00:25

标签: javascript php

我有一个字符串,表示一个812位的文件作为十六进制字符串。我试图以某种方式将此传递给强制下载文件的php脚本。问题是URL字符串太长。只有十六进制字符串的长度是1624.是否有某种编码或加密我可以用来缩短字符串,仍然能够在PHP端获得预期的结果?我曾尝试使用Ajax请求发送json,但我不相信我可以强行下载。

JS:

var cfg = '';
for (var x = 0; x < relayBytes.length; x++)
{
    var str = relayBytes[x].toString(16);
    if (str.length === 1) str = '0' + str;
    cfg += str;
}
window.location = '../script.php?relay=' + cfg;

relayBytes是一个长度为812的int数组。

PHP:

<?php
header('Content-Type: application/octetstream; name="file.txt"');
header('Content-Type: application/octet-stream; name="file.txt"');
header('Content-Disposition: attachment; filename="file.txt"');
echo $_GET['relay'];
?>

1 个答案:

答案 0 :(得分:1)

您可以使用POST方法将数据从一个页面传递到另一个页面,还有许多第三方服务可以为您提供URL缩短服务。您也可以使用他们的服务,但我希望您使用表单发布方法来传递数据。