只需尝试下面的代码,您就可以理解
import React, { Component } from 'react';
class App extends Component {
constructor(props) {
super(props);
}
showFile = async (e) => {
e.preventDefault()
const reader = new FileReader()
reader.onload = async (e) => {
const text = (e.target.result)
console.log(text)
alert(text)
};
reader.readAsText(e.target.files[0])
}
render = () => {
return (<div>
<input type="file" onChange={(e) => this.showFile(e)} />
</div>
)
}
}
export default App;
如果你想要获取一个 .txt 文件,首先你需要导入它:
import raw from '../constants/foo.txt';
之后,您可以获取它并将其转换为文本:
fetch(raw)
.then(r => r.text())
.then(text => {
console.log('text decoded:', text);
});
fs
不起作用,所以我很高兴fetch
可以! - alexdeclare module '*.txt';
。 - Sandro Mirijanashviliimport text from './data.js'; // The relative path to your File
console.log(text);
const text = "My Text goes here";
export default text;
import { text } from './data.txt';
这行代码存在于你的程序中吗? - KOTIOS由于React是JavaScript编写的,因此这段代码应该可以工作。
HTML
<input type="file" id="fileInput" onchange="onLoad(event)">
JavaScript
onLoad = function (event){
var file = fileInput.files[0];
var textType = /text.*/;
if (file.type.match(textType)) {
var reader = new FileReader();
reader.onload = function(e) {
var content = reader.result;
// Here the content has been read successfuly
alert(content);
}
reader.readAsText(file);
}
}
如果您想加载数据,即使在页面加载时,此事件也将起作用。
import { text } from './data.txt'; // Relative path to your File
console.log(text);
./data.txt
吗? - ProblemsEverywhere