У меня есть простая форма для загрузки файла, который позже будет обрабатываться с моим внутренним кодом python. Однако, что я получаю, когда пытаюсь загрузить файл, это C: \ fakepath \ test.txt.Загрузка файла с помощью responsejs и работа с C:/fakepath/file
Из исследования, которое я сделал, это ожидается и сделано из-за проблем с безопасностью. Это хорошо, но теперь мой вопрос в том, как в мире я могу обойти это, чтобы иметь возможность использовать файл, который я загружаю на своем back-end?
Я смотрел кучу разных мест, и никто из них, похоже, не обращается к этому.
Вот мой текущий код:
class SomeForm extends Component{
handleFile(e){
this.setState({value: e.target.value});
}
handleSubmit(e){
var me=this;
if (this.state.value.length>0){
var upload_file = this.state.value;
const request = axios.post(this.props.cfg_url+'/upload', {upload_file})
.then(function(response){
console.log('successfully uploaded', upload_file);
})
}
}
render(){
return(
<Form inline onSubmit={this.handleSubmit}>
<FormGroup controlId='uploadFormId'>
<ControlLabel>Upload File:</ControlLabel>
<FormControl
type='file'
label='File'
onChange={this.props.onChange}
/>
</FormGroup>
<Button type='submit'>Upload</Button>
</Form>
);
}
}
Зачем вам нужен путь? – epascarello
@epascarello, потому что я должен делать некоторые манипуляции с файлами на стороне Python. Поэтому мне нужен путь, чтобы открывать, читать, писать. Если я этого не сделаю, в какой момент, пожалуйста, скажите мне, как – theJuls
Но URL-адрес не имеет ничего общего с файлом, это не то, как вы получаете доступ к данным файла. Вы неправильно отправляете файл на сервер. См. Http://stackoverflow.com/questions/2320069/jquery-ajax-file-upload – epascarello