我有一個簡單的上傳文件的方式,稍後我會處理後端Python代碼。但是,當我嘗試上傳文件時,得到的是C:\ fakepath \ test.txt。上傳帶reactjs的文件並處理C:/ fakepath /文件
從研究我做這是預期和完成由於安全考慮。這很好,但現在我的問題是如何在世界上解決這個問題,以便能夠使用我在後端上傳的文件?
我看了一堆不同的地方,他們似乎都沒有解決這個問題。
這裏是我當前的代碼:
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