gpt4 book ai didi

angularjs - NodeJS和AngularJS : Download file $http. get()并保存到文件夹

转载 作者:行者123 更新时间:2023-12-03 12:35:54 25 4
gpt4 key购买 nike

我正在使用 NodeJS和AngularJS 开发 Electron 应用程序,以从Web服务下载mp3文件并将其保存到特定文件夹。
为此,我使用AngularJS $ http.get()下载文件,并使用Node File System将下载的数据保存到文件夹。

我目前的问题是我无法正确保存文件。数据已下载并已创建文件,但似乎已损坏。换句话说,MP3无法正常工作。

这是我在做什么的示例代码:

var fs = require("fs");
var path = require("path");

var resquest = $http.get(url, config).then(function(response)
{
var downloadFolder = path.join(app.getAppPath(), '../../downloads/test.mp3');

var filestream = fs.writeFile(downloadFolder, response.data, 'binary');
});

更新:根据@ hame-dhib建议测试了以下方法:
var request = $http({
method:'GET',
responseType: 'blob', //<---
url:'http://api/',
headers:
{
'Content-Type': 'audio/mpeg', //<---
'Authorization': data.token
}
}).then(function successCallback(response)
{
var downloadFolder = path.join(app.getAppPath(), '../../downloads/test.mp3');

var filestream = fs.writeFile(downloadFolder, response.data, 'binary');

}, function errorCallback(response)
{
console.log(response);
});

问题仍然存在。

最佳答案

您应该将responseType定义为blob:

$http({
method:'POST',
responseType: 'blob', //<---
url:'/api/lessons',
data:{cards:lessonList},
headers : {
'Content-type' : 'audio/mpeg',
}
}).success(function(data, status, headers, config){ ..

关于angularjs - NodeJS和AngularJS : Download file $http. get()并保存到文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46729398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com