Node.js Angular和Nodejs基本文件下载

Node.js Angular和Nodejs基本文件下载,node.js,angular,Node.js,Angular,请给我看一个使用Node和Angular下载用户基本文件的示例。我是这样理解的,但这不起作用: Nodejs: // Does it matter that it is a post and not a get? app.post('/some-api', someData, (request, response) => { response.download('file/path/mytext.txt'); }); 角度2+: this.httpclient.post<a

请给我看一个使用Node和Angular下载用户基本文件的示例。我是这样理解的,但这不起作用:

Nodejs:

// Does it matter that it is a post and not a get?
app.post('/some-api', someData, (request, response) => {
    response.download('file/path/mytext.txt');
});
角度2+:

this.httpclient.post<any>('.../some-api', {...data...}).subscribe(response => {
  console.log(response);
  // This throws an error, but even if it doesn't,
  // how do I download the Nodejs `response.download(...) ?`
});
this.httpclient.post

好了

Node.js服务器:

const express = require("express");
const router = express.Router();

router.post("/experiment/resultML/downloadReport",downloadReport);

const downloadReport = function(req, res) {
  res.sendFile(req.body.filename);
};
  import { saveAs } from "file-saver"
  download() {
    let filename = "/Path/to/your/report.pdf";
    this.api.downloadReport(filename).subscribe(
      data => {
        saveAs(data, filename);
      },
      err => {
        alert("Problem while downloading the file.");
        console.error(err);
      }
    );
  }
  public downloadReport(file): Observable<any> {
    // Create url
    let url = `${baseUrl}${"/experiment/resultML/downloadReport"}`;
    var body = { filename: file };

    return this.http.post(url, body, {
      responseType: "blob",
      headers: new HttpHeaders().append("Content-Type", "application/json")
    });
  }
组件角度:

const express = require("express");
const router = express.Router();

router.post("/experiment/resultML/downloadReport",downloadReport);

const downloadReport = function(req, res) {
  res.sendFile(req.body.filename);
};
  import { saveAs } from "file-saver"
  download() {
    let filename = "/Path/to/your/report.pdf";
    this.api.downloadReport(filename).subscribe(
      data => {
        saveAs(data, filename);
      },
      err => {
        alert("Problem while downloading the file.");
        console.error(err);
      }
    );
  }
  public downloadReport(file): Observable<any> {
    // Create url
    let url = `${baseUrl}${"/experiment/resultML/downloadReport"}`;
    var body = { filename: file };

    return this.http.post(url, body, {
      responseType: "blob",
      headers: new HttpHeaders().append("Content-Type", "application/json")
    });
  }
服务角度:

const express = require("express");
const router = express.Router();

router.post("/experiment/resultML/downloadReport",downloadReport);

const downloadReport = function(req, res) {
  res.sendFile(req.body.filename);
};
  import { saveAs } from "file-saver"
  download() {
    let filename = "/Path/to/your/report.pdf";
    this.api.downloadReport(filename).subscribe(
      data => {
        saveAs(data, filename);
      },
      err => {
        alert("Problem while downloading the file.");
        console.error(err);
      }
    );
  }
  public downloadReport(file): Observable<any> {
    // Create url
    let url = `${baseUrl}${"/experiment/resultML/downloadReport"}`;
    var body = { filename: file };

    return this.http.post(url, body, {
      responseType: "blob",
      headers: new HttpHeaders().append("Content-Type", "application/json")
    });
  }
公共下载报告(文件):可观察{
//创建url
让url=`${baseUrl}${“/experience/resultML/downloadReport”}`;
var body={filename:file};
返回此.http.post(url、正文、{
响应类型:“blob”,
headers:new-HttpHeaders().append(“内容类型”、“应用程序/json”)
});
}
好了

Node.js服务器:

const express = require("express");
const router = express.Router();

router.post("/experiment/resultML/downloadReport",downloadReport);

const downloadReport = function(req, res) {
  res.sendFile(req.body.filename);
};
  import { saveAs } from "file-saver"
  download() {
    let filename = "/Path/to/your/report.pdf";
    this.api.downloadReport(filename).subscribe(
      data => {
        saveAs(data, filename);
      },
      err => {
        alert("Problem while downloading the file.");
        console.error(err);
      }
    );
  }
  public downloadReport(file): Observable<any> {
    // Create url
    let url = `${baseUrl}${"/experiment/resultML/downloadReport"}`;
    var body = { filename: file };

    return this.http.post(url, body, {
      responseType: "blob",
      headers: new HttpHeaders().append("Content-Type", "application/json")
    });
  }
组件角度:

const express = require("express");
const router = express.Router();

router.post("/experiment/resultML/downloadReport",downloadReport);

const downloadReport = function(req, res) {
  res.sendFile(req.body.filename);
};
  import { saveAs } from "file-saver"
  download() {
    let filename = "/Path/to/your/report.pdf";
    this.api.downloadReport(filename).subscribe(
      data => {
        saveAs(data, filename);
      },
      err => {
        alert("Problem while downloading the file.");
        console.error(err);
      }
    );
  }
  public downloadReport(file): Observable<any> {
    // Create url
    let url = `${baseUrl}${"/experiment/resultML/downloadReport"}`;
    var body = { filename: file };

    return this.http.post(url, body, {
      responseType: "blob",
      headers: new HttpHeaders().append("Content-Type", "application/json")
    });
  }
服务角度:

const express = require("express");
const router = express.Router();

router.post("/experiment/resultML/downloadReport",downloadReport);

const downloadReport = function(req, res) {
  res.sendFile(req.body.filename);
};
  import { saveAs } from "file-saver"
  download() {
    let filename = "/Path/to/your/report.pdf";
    this.api.downloadReport(filename).subscribe(
      data => {
        saveAs(data, filename);
      },
      err => {
        alert("Problem while downloading the file.");
        console.error(err);
      }
    );
  }
  public downloadReport(file): Observable<any> {
    // Create url
    let url = `${baseUrl}${"/experiment/resultML/downloadReport"}`;
    var body = { filename: file };

    return this.http.post(url, body, {
      responseType: "blob",
      headers: new HttpHeaders().append("Content-Type", "application/json")
    });
  }
公共下载报告(文件):可观察{
//创建url
让url=`${baseUrl}${“/experience/resultML/downloadReport”}`;
var body={filename:file};
返回此.http.post(url、正文、{
响应类型:“blob”,
headers:new-HttpHeaders().append(“内容类型”、“应用程序/json”)
});
}

saveAs()来自哪里?它的npm模块文件保护程序npm:从“文件保护程序”导入{saveAs}好的,谢谢。我想你可以删除
服务中的
标题:new-HttpHeaders().append(“Content-Type”,“application/json”
。如果没有它,它似乎可以工作。
saveAs()
来自哪里?它的npm模块文件保护程序npm:从“文件保护程序”导入{saveAs}好的,谢谢。我想您可以删除
服务中的
标题:new-HttpHeaders().append(“Content-Type”,“application/json”
。没有它似乎可以工作。