react中,使用发送请求的方式把static文件夹中的前端可访问的静态文件读取成字符串:

1、new request,需要用到getRequestHeaders组件

2、fetch获取response

3、return response.text() 获取文件内容(关于response对象的属性和方法见:https://developer.mozilla.org/zh-CN/docs/Web/API/Response 。在这里,return response.tx()返回的是一个promise对象,这里我也没搞懂,promise对象到底是什么,以及到底是同步的还是异步的,后续还需要再看一下。https://www.cnblogs.com/whybxy/p/7645578.html )

import React, { Component } from 'react';

import { getRequestHeaders } from '../setupAjaxHeaders';
import HyperDown from 'hyperdown'; import './ReadMePage.css'; class ReadMePage extends Component {
constructor(props){
super(props);
this.state={
readmeHtml:undefined,
};
} render(){ const getArtifactRequest = new Request(require('../static/readme.md'), {
method: 'GET',
headers: new Headers(getRequestHeaders(document.cookie))
}); fetch(getArtifactRequest).then((response) => {
return response.text()
}).then((text) => {
const parser=new HyperDown;
this.state.readmeHtml=parser.makeHtml(text);
this.setState({
readmeHtml:parser.makeHtml(text),
});
return <div id="readMeBody" dangerouslySetInnerHTML={{__html:this.state.readmeHtml}}></div>;
});
return <div id="readMeBody" dangerouslySetInnerHTML={{__html:this.state.readmeHtml}}></div>; } } export default ReadMePage;

注意,要保存代码中动态生成的结果,必须在构造函数中定义 this.state={resultname:undefined, } 并在生成结果时调用this.setstate({ resultname:result, }),然后后续调用的时候使用this.state.resultname

注意,request获取response之后,response.text()需要通过return再then才能获取到,直接使用是获取不到的

【react读取文件】react发送GET请求读取静态文件的更多相关文章

  1. Django本地开发,引用静态文件,火狐浏览器不能访问静态文件,谷歌浏览器却能访问静态文件

    查了一下是settings.py设置问题 # Static files (CSS, JavaScript, Images)# https://docs.djangoproject.com/en/1.1 ...

  2. python发送post请求上传文件,无法解析上传的文件

    前言 近日,在做接口测试时遇到一个奇葩的问题. 使用post请求直接通过接口上传文件,无法识别文件. 遇到的问题 以下是抓包得到的信息: 以上请求是通过Postman直接发送请求的. 在这里可以看到消 ...

  3. node静态资源服务器的搭建----访问本地文件夹(搭建可访问静态文件的服务器)

    我们的目标是实现一个可访问静态文件的服务器,即可以在浏览器访问文件夹和文件,通过点击来查看文件. 1.先创建一个文件夹anydoor,然后在该文件夹里npm init一个package.json文件, ...

  4. SpringMVC——正常访问静态文件,不要找不到静态文件报404的方法

    方案一:激活Tomcat的defaultServlet来处理静态文件 <span style="font-size:12px;"> <servlet-mappin ...

  5. Java客户端通过Http发送POST请求上传文件到web服务器

    http://www.cnblogs.com/WilliamJiang/archive/2012/04/29/2475883.html 1.朋友的一个需求,让我给他实现,需求是这样的,需要用ASP.n ...

  6. C# 发送Http请求,传文件和其他参数

    /// <summary> /// httpWebRequest post by dic /// </summary> /// <param name="url ...

  7. ASP.NET MVC请求特殊静态文件返回404 Not Found

    今天在请求静态的json档案以及woff2档案,会返回404错误,需要在Web.Config里修改: <system.webServer> <modules> <remo ...

  8. c#代码发送post请求,上传文件(并带其他参数)

    本人对post理解不深,前段时间遇到一个需要用c#代码发送post请求上传文件的业务,于是参考了几篇帖子,加上自身实践写出了如下代码.写的比较low 望各位大大指正^_^. 业务需求: 对方给了一个接 ...

  9. ASP.NET Core应用针对静态文件请求的处理[2]: 条件请求与区间请求

    通过调用ApplicationBuilder的扩展方法UseStaticFiles注册的StaticFileMiddleware中间件帮助我们处理针对文件的请求.对于StaticFileMiddlew ...

随机推荐

  1. 4种方法让SpringMVC接收多个对象 <转>

    问题背景: 我要在一个表单里同时一次性提交多名乘客的个人信息到SpringMVC,前端HTML和SpringMVC Controller里该如何处理? 第1种方法:表单提交,以字段数组接收: 第2种方 ...

  2. Linux - Ubuntu开启SSH服务

    SSH分客户端openssh-client和openssh-server. 如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt- ...

  3. android system.img 解压和打包

    system.img重新编译的时间太长,添加和更改的文件系统内容,往往通过对system.img加压再打包的方式. 参考链接 http://blog.csdn.net/whu_zhangmin/art ...

  4. Class中isAssignableFrom() 方法

    看Spring源码的时候看到这个方法: protected WebApplicationContext createWebApplicationContext(ServletContext sc) { ...

  5. 基于Unity5的TPS整理

    1.游戏管理器 游戏管理器负责管理游戏的整体流程,还可以系统管理用于游戏的全局数据以及游戏中判断胜败的条件.游戏管理器并不是单一的模块,更像是能控制游戏的功能集合.1)怪兽出现逻辑:专门设置一些位置用 ...

  6. Struts2的拦截器是如何使用AOP工作的

    拦截器(interceptor)是Struts2最强大的特性之一,也可以说是struts2的核心,拦截器可以让你在Action和result被执行之前或之后进行一些处理.同时,拦截器也可以让你将通用的 ...

  7. Logstash zabbix 插件

    zabbix 监控 logstash 安装社区扩展包wget http://download.elasticsearch.org/logstash/logstash/logstash-contrib- ...

  8. JSON.parse() 和 JSON.stringify() 的区别

    JSON.parse()与JSON.stringify()的区别   JSON.parse()[从一个字符串中解析出json对象] //定义一个字符串 var data='{"name&qu ...

  9. Using XSLT and Open XML to Create a Word 2007 Document

    Summary: Learn how to transform XML data into a Word 2007 document by starting with an existing docu ...

  10. 苹果使用蓝汛CDN网络分发ios8

        2014年9月18日凌晨,苹果公司公布了全新的ios8系统正式版.不出所料的引发了空前高涨的"果粉"下载热潮.引爆整个苹果界.     ios8被业内称为"自Ap ...