如何使用ajax和node将文件下载到磁盘

时间:2014-12-11 14:24:31

标签: jquery ajax node.js

好的,我要做的就是在用户点击它时将文件保存到用户的磁盘上。这是代码,ajax:

 $('.cv_download').on('click',function(){
        var fileName = $(this).text();
        console.log(fileName)
        var temp = {"file" : fileName}
        console.log(temp);
        console.log(JSON.stringify(temp))
        $.ajax({
            url: '/download-cv-file',
            type: 'POST',
            data: {fileSend:JSON.stringify(temp)},
            dataType: 'json'
        });
    })

在我的服务器文件中我有:

app.post('/download-cv-file', function(req, res){ services.downloadFile(req,res); });

发生火灾:

var downloadFile = function(req,res){
console.log('From services')
console.log(req.body.fileSend)
var p_file = JSON.parse(req.body.fileSend);
console.log(p_file);
console.log('The file we look for is ' + p_file.file);
var file = 'services/cvs/'+p_file.file+'';
console.log('The file is ' + file);
res.download(file);}

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您的问题是使用ajax发送文件。不起作用。您可以使用以下变通方法:使用文件url创建iframe或使用html5的文件api。

以下是一个很好的参考:Download a file by jQuery.Ajax