Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.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/node.js/33.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 角度2/4手柄分辨率下载_Javascript_Node.js_Angular_Express_Download - Fatal编程技术网

Javascript 角度2/4手柄分辨率下载

Javascript 角度2/4手柄分辨率下载,javascript,node.js,angular,express,download,Javascript,Node.js,Angular,Express,Download,我在下载带有angular的文件时遇到问题 使用邮递员时,文件正确显示在正文中 我正在使用express函数res.download,我可以下载文件,但它不是一个工作png,我做错了什么 我的角度4实现: this.http.post(localhost,{"jabcontent": cert._id}) .subscribe( data => { console.log(data.text());

我在下载带有angular的文件时遇到问题

使用邮递员时,文件正确显示在正文中

我正在使用express函数
res.download
,我可以下载文件,但它不是一个工作png,我做错了什么

我的角度4实现:

        this.http.post(localhost,{"jabcontent": cert._id})
        .subscribe(
            data => {
                console.log(data.text());
                var blob = new Blob([data.text()], {type: "image/png"});
                FileSaver.saveAs(blob, "test.png" );
                /* var blob = new Blob([data.text()], {type: "image/png"});
                var objectUrl = URL.createObjectURL(blob);
                window.open(objectUrl); */
            }
        )
我想出来了

我的后端是正确的:

         res.download(pathtoFile, filename, (err) => {
            //err handeling
        }); 
我在回答问题时犯了一个错误。响应的映射不正确。我还将响应类型设置为blob。切换到get是为了一致性

    var headers = new Headers();
    headers.append('xyz', '1234'); //request parameter
    let options = new RequestOptions({ headers: headers, responseType: ResponseContentType.Blob });
    this.http.get('apipath', options)
        .map((response: Response)=> response.blob())
        .subscribe(data => {
            FileSaver.saveAs(data, "filename");
        }
        );
我想出来了

我的后端是正确的:

         res.download(pathtoFile, filename, (err) => {
            //err handeling
        }); 
我在回答问题时犯了一个错误。响应的映射不正确。我还将响应类型设置为blob。切换到get是为了一致性

    var headers = new Headers();
    headers.append('xyz', '1234'); //request parameter
    let options = new RequestOptions({ headers: headers, responseType: ResponseContentType.Blob });
    this.http.get('apipath', options)
        .map((response: Response)=> response.blob())
        .subscribe(data => {
            FileSaver.saveAs(data, "filename");
        }
        );