我需要上传文件并在react.js中读取文件内容,然后将其内容发送到后端节点。 我创建了它,除了后端之外,它都起作用。从后端无法获取文件内容。
那是我所做的
constructor(props) {
super(props);
this.onFormSubmit = this.onFormSubmit.bind(this);
this.onChange = this.onChange.bind(this);
this.fileUploadTest = this.fileUploadTest.bind(this);
}
提交后,我调用fileUploadTest()函数
onFormSubmit(e){
e.preventDefault(); // Stop form submit
this.fileUploadTest(this.state.file);
};
这是用于在上传文件(doc / pdf)时从输入文件中读取内容
onChange(e) {
const self = this;
const fileData = new FileReader();
fileData.onload = function(e) {
self.setState({
file: e.target.result
});
};
fileData.readAsText(e.target.files[0], "UTF-8");
}
fileUploadTest = (file) => {
Upload.fileUpload(file, data => {
console.log(data);
});
};
和表格
<form onSubmit={this.onFormSubmit}>
<h1>File Upload</h1>
<input type="file" name="file" onChange={this.onChange} />
<button type="submit">Upload</button>
</form>
最后将内容发送回后端
function fileUpload(file, data){
return fetch('upload', {
mode: 'cors',
method: "POST",
body: file
}).then(function (response) {
console.log(response);
}).catch(function(error){
console.log(error);
});
}
但是我无法在后端获取req.files。
app.post('/upload', (req, res) => {
console.log(req);
request.put({
url: 'http://api....',
body: req.body,
headers: { 'accept': 'text/plain' }
}, function (error, response, body) {
console.log(body);
});
})
我需要从上传的文件(.doc / .pdf)中读取内容并将其内容发送到服务器。我哪里错了怎么办?