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