为了账号安全,请及时绑定邮箱和手机立即绑定

下载的 tar 文件未在节点 js 中打开。?

下载的 tar 文件未在节点 js 中打开。?

MMMHUHU 2021-06-02 02:21:18
我正在尝试使用 node js 下载 tar 文件,文件正在保存但无法打开该文件我尝试了以下代码var fs = require("fs");var fn = "version1.tgz";var request = require('request');var downloadUrl = "https://url/api/download?downloadFile="+fn+"&username=mkhun";request({    url: downloadUrl,    method: 'POST',}, function (err, resp, body) {    var rmv = body;    console.log(rmv);    fs.writeFile(fn,rmv,function(err,data){            console.log(err);    });});但同样的事情正在使用 javascript ajaxvar fn = "version1.tgz";var xhttp = new XMLHttpRequest();var downloadUrl = "https://url/api/download?downloadFile="+fn+"&username=mkhun";console.log(downloadUrl);xhttp.onreadystatechange = function() {if (this.readyState == 4 && this.status == 200) {    var blob = this.response;     var fileName = fn;     var link=document.createElement('a');     link.href=window.URL.createObjectURL(blob);     link.download=fileName;     link.click();} else if(this.readyState == 2) {        xhttp.responseType = "blob";    }};xhttp.open("POST", downloadUrl , true);xhttp.send();我不知道如何解决 node-red 中的问题
查看完整描述

1 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

这是接收请求数据时的编码问题。


您可以使用streams来pipe从一个缓冲区请求到文件系统直接。否则,您可以encoding: null在request选项中使用


request({

    url: downloadUrl,

    method: 'POST',

    encoding: null

}, ...)


查看完整回答
反对 回复 2021-06-03
  • 1 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信