简体   繁体   English

我想从服务器获取文件,然后使用 react js 在浏览器中显示(文件作为响应来自服务器)

[英]i want to fetch file from server and then display in browser using react js(file is coming from server as response)

**WHAT I WANT TO DO IS FETCH A FILE FROM SERVER BY SENDING FILE NAME THROUGH BODY AND THEN GET ASKED FILE FROM SERVER ** **我想做的是通过正文发送文件名从服务器获取文件,然后从服务器获取文件 **

I AM GETTING FILE IN RESPONSE FROM SERVER I TESTED IN POSTMAN我正在从我在 POSTMAN 中测试的服务器获取响应文件

WHAT I WANT TO DO IS FETCH THE FILE RESPONDED BY SERVER AND THEN DISPLAY IT IN BROWSER using react-js我想做的是获取服务器响应的文件,然后使用 react-js 在浏览器中显示它

THIS IS WHAT I AM DOING TO FETCH FILE FROM SERVER这就是我从服务器获取文件所做的

frontend code前端代码

import { useEffect, useState } from "react";
const CardArticle = ({ cardData:cardComponent }) => {
  const [Data, setdata] = useState(null);


useEffect(() => {
    fetch("http://localhost:8000/article", {
      method: "post",
      headers: { "content-Type": "application/json" },
      body: JSON.stringify({fileName: "cardArticle.html"}),
}).then((res) => res.json())
  .then((data) => setdata(data))
  .catch(console.log("not found"))});

  if (Data === null) return;

  return (
    <div>{Data}<div>hello it's working</div></div>
  );
};
export default CardArticle;

IT GIVES ME ERROR: Uncaught (in promise) SyntaxError: Unexpected token '<', "<.DOCTYPE "... is not valid JSON它给了我错误:未捕获(承诺)语法错误:意外的令牌“<”,“<.DOCTYPE”...无效 JSON

I DON'T KNOW HOW TO DO IT SO I TRIED SOMETHING AND CAN'T FIGURE IT OUT HOW IT WILL WORK我不知道该怎么做,所以我尝试了一些东西,但无法弄清楚它是如何工作的

Backend code后端代码

app.post("/article", (req, res) => {
  try {
    const { fileName } = req.body;
    if (fileName === undefined) {
      return res.status(404).json("file not found");
    }
    res.sendFile(path.join(__dirname, `/${fileName}`));
  } catch (err) {
    res.json("Something went wrong!");
  }
});

i think your content-type is wrong because files are not json and you can't convert them.我认为你的内容类型是错误的,因为文件不是 json,你不能转换它们。 one way is to use multipart/form-data content type and then convert it with javascript formData一种方法是使用multipart/form-data内容类型,然后将其转换为 javascript formData

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在前端使用 fetch 从 express.js 服务器获取响应 - Get response from express.js server using fetch on frontend Jquery文件上传插件如何获取从服务器发送的响应 - Jquery file upload plugin how to fetch Response sent from server 如何在网页中显示从服务器(使用ajax和jquery)检索到的js文件的内容? - How do I display the contents of js file retrieved from the server (using ajax and jquery) in my webpage? 在React中使用Fetch从服务器获取数据 - Using Fetch in React to fetch data from server 如何使用来自node.js(快速服务器)的服务器中的数据重写JS文件? - How can re-write JS file with data coming from server with node.js (express server)? 如何使用 express 和 fetch 打印来自服务器的响应? - how can i print a response from server using express and fetch? 如何使用 js 数组方法(例如 map()、reduce()、filter() 等格式化来自服务器的响应,如下所示? - How can I format the response coming from the server as given below using js array methods such as map(), reduce(), filter() and etc? Chrome-如何在浏览器显示文件后从服务器显示PDF文件并从服务器删除文件 - Chrome - How to display PDF file from server and delete from server after browser displays file 使用来自不同文件 React 的 axios 等待服务器响应 - Wait for server response with axios from different file React Node js从服务器提供文件主体并在浏览器中下载 - Node js serve file body from server and download in browser
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM