0
フォームを使用してURL/apiに画像をアップロードしようとしています。 フォームの送信時にhandleImgUpload()メソッドを呼び出します。 問題は、送信された要求が空であることです。 私は、新しいFormData(これ)が反応や何かで動作しないと思います。reactjsとajaxを使用して画像をアップロード
画像パスを設定する別の機能があります。ここ
handleImgUpload(e){
e.preventDefault();
$.ajax({
url: "my url goes here", // Url to which the request is send
type: "POST", // Type of request to be send, called as method
data: new FormData(this), // Data sent to server, a set of key/value pairs (i.e. form fields and values)
contentType: false, // The content type used when sending data to the server.
cache: false, // To unable request pages to be cached
processData:false, // To send DOMDocument or non processed data file it is set to false
success: function(data){ // A function to be called if request succeeds
console.log(new FormData(this));
}
});
}
は形式です:
<form id="uploadimage" onSubmit={this.handleImgUpload} action="" method="post" encType="multipart/form-data">
<Row id="image_preview" className="row">
<img id="previewing" src={this.state.imgPath}/>
</Row>
<div id="selectImage">
<label>Select Your Image</label><br/>
<input type="file" name="image" id="file" onChange={this.handleImgChange} required />
<Button type="submit" className="btn btn-primary" id="upload">Upload</Button>
</div>
</form>
可能な二重に見つけることができる形、になるだろうファイルのアップロード](http://stackoverflow.com/questions/2320069/jquery-ajax-file-upload) –
@AndyRayは重複しているかもしれませんが、その質問ではありません。ここの問題は 'this'の使い方が間違っている – azium
しかし、これはおそらくOPがさらなる問題に遭遇した場合のための役に立つリンクです – azium