ファイルをアップロードする簡単なフォームがあります。これは後で私のバックエンドのPythonコードで処理されます。しかし、ファイルをアップロードしようとすると、C:\ fakepath \ test.txtになります。reactjsを使ってファイルをアップロードし、C:/ fakepath/fileを扱います
私はこれをやり遂げたことから、これはセキュリティの問題から期待され、実行されました。これは問題ありませんが、今私の質問は、私がバックエンドでアップロードしているファイルを使用できるようにするために、世界中でどうすればよいのでしょうか?
私はさまざまな場所を見てきましたが、そのうちのどれもそれに対処していないようです。ここで
は私の現在のコードです:
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