0
我正在开发使用和的NodeJS AngularJS从Web服务下载的MP3文件并将其保存到指定文件夹的电子应用。 为了实现这一点,我使用AngularJS $ http.get()来下载文件和节点文件系统以将下载的数据保存到文件夹中。
我现在的问题是我无法正确保存文件。数据被下载并创建一个文件,但它似乎损坏。换句话说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');
});
UPDATE:测试基于@哈梅-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);
});
的问题仍然存在。
目前还不清楚发生了什么事情在那里。 AngularJS(客户端)如何调用Node fs(服务器端)?它是电子应用程序吗?这个问题应该清楚地说明问题。至于'仍然存在',请提供http://stackoverflow.com/help/mcve – estus
@estus你是对的。我忘了提及它的一个电子应用程序。我已经更新了我的问题。 – Ricky