无法从 URL 下载文件。服务器违反了协议。Section=ResponseHeader Detail=Content-Length 标头值无效

Failed to download file from the URL. The server committed a protocol violation. Section=ResponseHeader Detail=Content-Length header value is invalid

提问人:Mehadi Hasan 提问时间:10/19/2023 更新时间:10/19/2023 访问量:35

问:

我在使用桌面浏览器时遇到了从特定 URL 下载文件的问题,而它在移动设备(Chrome 浏览器)上可以完美运行。我已经在多个桌面浏览器中对此进行了彻底测试并清除了缓存,但我仍然无法找出导致问题的原因。

当我在桌面浏览器中单击该链接时,我收到以下错误消息:

発行エラー: Failed to download file from the URL [https://example.com/7075626c6963/SmaPri/Label.spfmtz]. (The server committed a protocol violation. Section=ResponseHeader Detail='Content-Length' header value is invalid)

我在下面提供了负责此操作的 JavaScript 代码。通过调用 requestOutput() 函数下载文件。代码如下:

function requestOutput() {
    var param1 = "__format_archive_url=" + encodeURIComponent('https://example.com/7075626c6963/SmaPri/Label.spfmtz');
    var param2 = "__format_id_number=2";
    var param3 = encodeURIComponent("Z.TanaBango") + "=" + encodeURIComponent("F1-1015") + "&" + encodeURIComponent("Barcode1") + "=" + encodeURIComponent("AXR12452") + "&" + encodeURIComponent("(Print quantity)") + "=" + encodeURIComponent(1);

    var url = "http://localhost:8080/Format/Print?" + param1 + "&" + param2 + "&" + param3;
    transaction(url, ResPrint); 
}

function ResPrint() {
    if (xmlhttp.readyState == 4) {
        if (xmlhttp.status == 200) {
            var xmlDoc = xmlhttp.responseXML;
            var result = xmlDoc.getElementsByTagName('result')[0].childNodes[0].nodeValue;
            var message = xmlDoc.getElementsByTagName('message')[0].childNodes[0].nodeValue;
            if (result == "OK") {
                // OK
            } else {
                // NG
            }
        } else {
            // Error
        }
    }
}

function transaction(url, method) {
    xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = method;
    xmlhttp.open("GET", url, false);
    xmlhttp.send();
}

我已经在多个浏览器(windows、ubuntu18.04 LTS)中进行了测试,清除缓存不起作用。

JavaScript Apache XMLhttp请求 CGI

评论


答: 暂无答案