Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何下载节点红色的tar文件。?_Javascript_Jquery_Node Red - Fatal编程技术网

Javascript 如何下载节点红色的tar文件。?

Javascript 如何下载节点红色的tar文件。?,javascript,jquery,node-red,Javascript,Jquery,Node Red,我正在尝试下载红色节点的tar文件 下面是我下载该文件的JavaScript代码 downloadTar(sendObj).then(res => { var bytes = new Uint8Array(byte); // pass your byte response to this constructor var blob = new Blob([bytes], {type: "application/tar"});

我正在尝试下载红色节点的tar文件

下面是我下载该文件的JavaScript代码

downloadTar(sendObj).then(res => {
        var bytes = new Uint8Array(byte); // pass your byte response to this constructor
        var blob = new Blob([bytes], {type: "application/tar"});
        var link = document.createElement('a');
        link.href = window.URL.createObjectURL(blob);
        var fileName = 'genome.tar';
        link.download = fileName;
        link.click();
});


function downloadTar(data) {
    return new Promise((resolve, reject) => {
        $.ajax({
            url: nodeRedDownloadTar,
            type: 'POST',
            data: data,
            success: function (result) {
                resolve(result);
            }
        });
    });
}
下面是我的节点红色流,我正在读取单个缓冲区对象中的文件,并将其发送到http响应

下面是我从后端得到的响应。


问题是没有下载tar文件。我不确定问题出在哪里。

以下流程工作正常,我正在使用http响应节点中的headers选项将内容类型设置为
AppApplication/x-tar

[
    {
        "id": "6e993a09.f44244",
        "type": "file in",
        "z": "1c834717.22be01",
        "name": "",
        "filename": "/home/pi/test.tar",
        "format": "",
        "chunk": false,
        "sendError": false,
        "encoding": "none",
        "x": 600,
        "y": 580,
        "wires": [
            [
                "6e7d5f6f.c9477"
            ]
        ]
    },
    {
        "id": "df49df3b.d325b",
        "type": "http in",
        "z": "1c834717.22be01",
        "name": "",
        "url": "/tar",
        "method": "post",
        "upload": false,
        "swaggerDoc": "",
        "x": 380,
        "y": 580,
        "wires": [
            [
                "6e993a09.f44244"
            ]
        ]
    },
    {
        "id": "6e7d5f6f.c9477",
        "type": "http response",
        "z": "1c834717.22be01",
        "name": "",
        "statusCode": "",
        "headers": {
            "content-type": "application/x-tar"
        },
        "x": 800,
        "y": 580,
        "wires": []
    }
]

这并不是要下载带有Node RED的文件,而是从Node RED下载的文件,它应该与任何其他服务器没有什么不同。您已检查是否可以先使用curl/wget下载文件?是否在http响应节点中设置了合适的内容类型?是。我尝试使用
change
节点将
msg.headers.content type
值设置为
application tar
。它必须是
application/tar
而不是
application tar
您还没有回答有关使用curl/wget进行测试的问题