onChange(event) {
var image = event.srcElement.files;
console.log(image);
マイコンソール値は、私は私のポストデータとしてサーバーに送信する必要がありますどのようなAngular2でサーバーにデータを投稿する方法は?
FileList {0: File, length: 1}
のですか?以下のような
onChange(event) {
var image = event.srcElement.files;
console.log(image);
マイコンソール値は、私は私のポストデータとしてサーバーに送信する必要がありますどのようなAngular2でサーバーにデータを投稿する方法は?
FileList {0: File, length: 1}
のですか?以下のような
何か:
return this.http
.post(this.heroesUrl, JSON.stringify({name: name}), {headers: this.headers})
.toPromise()
.then(res => res.json().data)
.catch(this.handleError);
は完璧です、あなたはhttps://angular.io/docs/ts/latest/tutorial/toh-pt6.html
であなたが必要なすべてを持っている私はあなたがそれがavailable only of file input fieldsあるfiles
プロパティのアクセスしているので、event.srcElement
が実際<input type="file">
であると仮定します。
Angular2 Http
サービスは現在のところストリング本体でのみ動作します。多くのことを単純化するFormData
もサポートする未解決の問題があります。
feat(http): Support many types of body on Request/Response and all ConnectionBackend implementationsを参照してください。
現在、生のXMLHttpRequest
オブジェクトをNgZone
でラップして、FormData
というPOSTデータを送信することができます。詳細情報については
onChange(event) {
var image = event.srcElement.files[0];
var reader = new FileReader();
reader.onload = (evt) => {
// Print base64 encoded file content
console.log(evt.target.result);
// Send data to server
this.http.post(url, evt.target.result)...
}
reader.readAsDataURL(image);
}
は、以下を参照してください:
しかし、あなたのために多分簡単に解決策は、base64エンコードされた文字列としてファイルを送信することです
私の場合は空のオブジェクトが送信されました – klp
toPromise()は非同期オブジェクトを送信するため、データが実際に送信されるまでコードを保護する必要があります –