Я новичок в программировании с использованием угловых и узлов js, и мне нужно вернуть файлы, сохраненные в файловой системе (обрабатываются серверной частью в узле js), во внешний интерфейс, чтобы дать пользователю возможностьпросматривая их или загружая их, чтобы сохранить их, я использовал промежуточное программное обеспечение Multer, но чтобы вернуть их для внешнего интерфейса, я не нашел эффективного решения.Я попытался с помощью fs создать буферный массив, но это не сработало.Кто-нибудь знает эффективное решение?
В запросе будут переданы параметры, чтобы определить, какой файл возвращается, но сейчас я тестирую со статическим файлом.
Мой запрос:
let headers: Headers = new Headers();
headers.append('Content-type', 'application/json');
headers.append('Authorization', token);
let link = ${URL_AuthAPI}/systemUsers/list;
let body = JSON.stringify({ obj });
let option = new RequestOptions({ headers: headers });
return this.http.post(link, body, option).map((resposta: Response)=> resposta);
Сервер Nodejs:
var filePath = path.join("/home", 'rg.png');
var stat = fileSystem.statSync(filePath);
res.writeHead(200, {
'Content-Type': 'image/png',
'Content-Length': stat.size,
// 'Content-Disposition': 'attachment ; filename=teste.png'
});
var readStream = fileSystem.readFileSync(filePath);
readStream.on('data', function(data) {
response.write(data);
});
readStream.on('end', function() {
response.end();
});
Код компонента:
this.systemUsersService.listUsers(this.token, null).subscribe((apiResponse) => {
var data = apiResponse['_body'];
console.log(data);
}, (error: any) => {
}
);