[解決済み】Angularのファイルアップロード
2022-03-30 03:29:48
質問
Angularの初心者ですが、Angular 5を作成する方法を知りたいです。 ファイルアップロード部分 チュートリアルやドキュメントを探したのですが、どこにも見当たりません。このための任意のアイデア?そして、私は試してみました ng4-ファイル が、Angular 5ではうまくいきません。
どうすればいいですか?
apiへのファイルアップロードの動作例です。
ステップ1:HTMLテンプレート(file-upload.component.html)
単純な入力タグを定義します。
file
. に関数を追加します。
(change)
-イベントを使用し、ファイルの選択処理を行います。
<div class="form-group">
<label for="file">Choose File</label>
<input type="file"
id="file"
(change)="handleFileInput($event.target.files)">
</div>
ステップ2:TypeScriptによるアップロード処理(file-upload.component.ts)
選択されたファイルに対してデフォルトの変数を定義します。
fileToUpload: File | null = null;
で使用する関数を作成します。
(change)
-イベントを作成します。
handleFileInput(files: FileList) {
this.fileToUpload = files.item(0);
}
もし、複数のファイルを選択したい場合は、このファイル配列を繰り返し処理します。
ここで、file-upload.serviceを呼び出して、ファイルアップロード機能を作成します。
uploadFileToActivity() {
this.fileUploadService.postFile(this.fileToUpload).subscribe(data => {
// do something, if upload success
}, error => {
console.log(error);
});
}
ステップ3:ファイルアップロードサービス(file-upload.service.ts)
POSTメソッドでファイルをアップロードする場合は
FormData
というのも、httpリクエストにファイルを追加することができるからです。
postFile(fileToUpload: File): Observable<boolean> {
const endpoint = 'your-destination-url';
const formData: FormData = new FormData();
formData.append('fileKey', fileToUpload, fileToUpload.name);
return this.httpClient
.post(endpoint, formData, { headers: yourHeadersConfig })
.map(() => { return true; })
.catch((e) => this.handleError(e));
}
というわけで、これは私が毎日仕事で使っている、とても簡単な実例です。
関連
-
[解決済み] Angular2 Final Release - 「Error: AngularにはZone.jsのプロリフィルが必要です"
-
[解決済み] "rxjs" observable.throw は関数ではありません - Angular4
-
[解決済み] Angular 2+とデバウンス
-
[解決済み] ngModel' は 'input' の既知のプロパティではないため、バインドできません。
-
[解決済み] Angular HTMLバインディング
-
[解決済み] オブジェクトのキーと値に*ngForでアクセスする
-
[解決済み] Angular CLI SASSオプション
-
[解決済み】Angular 2 Unit Tests。名前 'describe' が見つからない
-
[解決済み】Angularでファイルアップロード?
-
[解決済み] Angularチュートリアルのpipeメソッドとtapメソッドとは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】angularでpreflightのレスポンスがHTTP okステータスにならない。
-
[解決済み] FormBuilder のプロバイダがない [重複] 。
-
[解決済み] NullInjectorError: MatDialogRef 用のプロバイダがありません
-
[解決済み] Angular CLIでコンポーネントの名前を変更する方法は?
-
[解決済み] updateValueAndValidityとは?
-
[解決済み] Angular2 - エラー。セレクタ "app-root" はどの要素にもマッチしませんでした。
-
[解決済み] "rxjs" observable.throw は関数ではありません - Angular4
-
[解決済み] 安全でない値」の例外を発生させずに <iframe src="..."> を設定するにはどうしたらよいですか?
-
[解決済み] Angular InjectionTokenが「No provider for InjectionToken」をスローします。
-
[解決済み] <input type="file">で複数のファイルを選択する方法は?