Javascript 如何下载节点红色的tar文件。?
我正在尝试下载红色节点的tar文件 下面是我下载该文件的JavaScript代码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"});
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进行测试的问题