500 Ошибка со строчкой data:this.state.selectedFile
.
Если это удалить, я получаю значения имени и сообщения в моем почтовом ящике.
Я использую FormSubmit
, чтобы разрешить неограниченное количество ответов в форме. Форма работает отлично, если я даю статическое значение выбранному файлу, тогда я получаю его формат base64
, чего мне не нужно. Мне нужно, чтобы на почту пришло имя, сообщение и выбранный файл, будь то pdf
или img
, но не в формате base64
.
import axios from 'axios';
import React,{Component} from 'react';
export default class Upload extends Component {
state = {selectedFile: null};
onFileChange = event => {
this.setState({ selectedFile: event.target.files[0] });
};
onFileUpload = (e) => {
e.preventDefault();
console.info(this.state.selectedFile);
fetch("https://formsubmit.co/ajax/[email protected]", {
method: "POST",
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify({
name: "FormSubmit",
message: "bruhh",
data:this.state.selectedFile //Without this line I'm receiving the name and message to my email
})
});
}
fileData = () => {
if (this.state.selectedFile) {
return (
<div>
<h2>File Details:</h2>
<p>File Name: {this.state.selectedFile.name}</p>
</div>
);
} else {
return (
<div>
<br />
<h4>Choose before Pressing the Upload button</h4>
</div>
);
}
};
render() {
return (
<div>
<form onSubmit = {this.onFileUpload}>
<input type = "file" onChange = {this.onFileChange} />
<button type = "submit">
Upload
</button>
</form>
{this.fileData()}
</div>
);
}
}
Пожалуйста, покажите нам свою ошибку 500.
Upload.js: 13 POST formsubmit.co/ajax/[email protected] 500 Upload.onFileUpload @ Upload.js: 13 callCallback @ response-dom.development.js: 3945 invokeGuardedCallbackDev @ response-dom.development.js: 3994 invokeGuardedCallback @ response-dom.development.js: 40 invokeGuardedCallbackAndCatchFirstError @ response-dom.development.js: 4070 .....................
Пожалуйста, посмотрите как задать хороший вопрос. Между тем, я думаю, что это может вам чем-то помочь.