我无法打开从服务器获取的前端react js上的pdf文件,但是当我在前端react中给console.log(response.data)时,我可以在响应中看到一些数据js。但我不知道如何在新窗口中将其显示为pdf或在前端下载。
这是我发出请求的前端。
export const fetchResult=(resultData)=>async(dispatch)=>{
await mysqlDB.post('/result/fetch',{
params:resultData,
headers:{
Accept:'application/pdf',
contentType:'application/pdf'
}
})
.then((response)=>{
console.log(response);
if(response.data !== {}){
window.open(response.data);
dispatch( {
type: ActionTypes.FETCH_TOURNAMENT_RESULT_SUCCESS,
payload:response.data
});
console.log("Fetched Results")
}else{
dispatch({type:ActionTypes.FETCH_TOURNAMENT_RESULT_FAILED});
console.log("failed to fetch results")
}
})
.catch((error)=>console.error(error));
};
这是我试图将pdf发送到前端的nodejs。
app.post('/result/fetch',(request, response) => {
console.log(request.body);
const {tournament_id,section,round,type}=request.body.params;
const data = fs.readFileSync(`${__dirname}/../results/${tournament_id}/${section}/${round}/${type}.pdf`);
response.contentType("application/pdf");
response.send(data);
});