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. 使用filter解决request.getParameter的中文乱码问题

    注意:一般一个站点的所有页面的编码,包括数据库编码都要保持一致,下面默认的编码都是UTF-8 ----------------------------------例1:直接提交到jsp页面------ ...

  2. python跳一跳辅助学习

    微信跳一跳辅助工具 准备工具 adb驱动 安卓手机 打开手机的调试模式 usb接好手机和电脑 PyCharm:全宇宙唯一一款专门用于Python开发IDE工具 实现原理: 获取手机的实时的截图 点击起 ...

  3. 基于js白色简洁样式计算器

    今天给大家分享一款白色简洁样式计算器JS代码是一款精美简洁计算器JS代码插件网页特效,软件应用,后台应用JS计算器插件代码免费下载.适用浏览器:360.FireFox.Chrome.Safari.Op ...

  4. [转]使用rosbridge协议实现安卓跟ros的解耦

    安卓与ROS通信的现状 因为ROS官方支持的语言绑定只有C++和Python,所以目前安卓想与ROS通信,必须借助半官方的rosjava包,而Rosjava太重了,因为它跟C++/Python一样,是 ...

  5. asp.net曲线图

    highcharts的曲线图控件真的很强大,自己研究了下,做了一个简单的,给自己留个备忘,希望能帮到需要的朋友 Dome下载:http://files.cnblogs.com/linyijia/asp ...

  6. 大数据(10) - HBase的安装与使用

    HBaes介绍 HBase是什么? 数据库 非关系型数据库(Not-Only-SQL) NoSQL 强依赖于HDFS(基于HDFS) 按照BigTable论文思想开发而来 面向列来存储 可以用来存储: ...

  7. alert的美化,并且随滚动条滚动

    onclick="sAlert('${vo.courseName}');" <script type="text/javascript" language ...

  8. mongodb和redis设计原理简析

    转自:http://blog.csdn.net/yangbutao/article/details/8309539 redis:   1.NIO通信     因都在内存操作,所以逻辑的操作非常快,减少 ...

  9. 通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术

    通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages( JSP)技术.Velocity.Tiles.iText 和 POI.Spring MVC ...

  10. ReactNative iOS源码解析

    http://awhisper.github.io/2016/06/24/ReactNative%E6%B5%81%E7%A8%8B%E6%BA%90%E7%A0%81%E5%88%86%E6%9E% ...