-1
我發送文件給客戶端下載,但是當我從文件接收到的數據時,它的拋出異常JSON無效,是否有任何其他方法發送像res.download
這樣的文件並將內容設置爲json。我正在尋找更好的方法來發送文件,而不使用angularJs FileSaver它應該填充對話框到瀏覽器,是否有可能使用nodejs實現這個?sendFile拋出異常無效的JSON?
app.js
app.get('/file', function (req, res) {
var dir = './ditLogs';
var root = path.resolve('./ditLogs');
var fileName = req.query.file_name;
var data;
fs.readdir(dir, function(err, items) {
items.forEach(function(file){
if(fileName === file){
data = file;
console.log('DATA',data);
res.setHeader('Content-Disposition', 'attachment; filename=' + data);
res.setHeader('Content-type', 'text/plain');
res.sendFile(data, {root: root});
}
});
});
});
Factory.js
getFile:function(file_name){
return $http.get("/file?file_name="+file_name);
}
ctrl.js
$scope.downloadFile = function(message){
DitFactory.getFile(message).then(function(response,$window){
var data = JSON.stringify(response.data);
var blob = new Blob([data], { type: 'text/plain;charset=utf-8' });
FileSaver.saveAs(blob, 'text.txt');
console.log(response.data.level);
});
file.txt的
{"level":"info","message":"Test Log messages"}
{"level":"info","message":"Test Log messages"}
{"level":"info","message":"Test Log messages"}
你剛纔問這個[問題](http://stackoverflow.com/questions/38208285/how-to-create-object-when-you - 從文件和發送 - 響應中讀取多行 - 行)[一堆](http://stackoverflow.com/users/6014098/hussain?tab=questions) – peteb
我問這個問題,但我想我需要解釋越來越多的標籤應該添加更多的澄清,我之所以問新的問題。 – hussain