この記事では、1枚以上の写真をアップロードするためのVant Uploaderコンポーネントを紹介します。具体的な内容は次のとおりです。 HTML部分 <テンプレート> <div class="contWrap"> <バンアップローダー v-model="ファイルリスト" :multiple="true" :before-read="beforeRead" :after-read="afterRead" :before-delete="アップロード画像を削除" アップロードアイコン="プラス" > <!-- 注: これはカスタムアップロードスタイルです --> <!-- <p> <バンアイコン 名前="プラス" カラー=”#07c160” サイズ=".5rem" /> 写真をアップロード</p> --> </van-uploader> </div> </テンプレート> js部分 <スクリプト> 「axios」からaxiosをインポートします。 エクスポートデフォルト{ 名前: "uploadImages", データ() { 戻る { ファイルリスト: [], アップロード URL: "/api/upload/fileUpload", ヘッダー: { トークン: this.$store.state.account.token, }, }; }, メソッド: { // ブール値を返す beforeRead(file) { if (ファイルインスタンス配列) { //配列ファイルかどうかを判定します。forEach((v) => { this.checkFile(v); }); } それ以外 { this.checkFile(ファイル); } true を返します。 }, //画像タイプ checkcheckFile(file) { const フォーマット = ["jpg", "png", "jpeg"]; 定数インデックス = file.name.lastIndexOf("."); const finalName = file.name.substr(インデックス + 1); if (!format.includes(finalName.toLowerCase())) { Toast("アップロードしてください" + format.join(",") + "画像をフォーマットしてください"); false を返します。 } }, afterRead(ファイル) { // この時点で自分でファイルをサーバーにアップロードできます if (file instanceof Array) { ファイル.map((v) => { v.status = "アップロード中"; v.message = "アップロード中..."; this.uploadImg(v); }); } それ以外 { file.status = "アップロード中"; file.message = "アップロード中..."; this.uploadImg(ファイル); } }, //アップロード uploadImg(file) { フォームデータを作成します。 formData.append("ファイル", file.file); アクシオス .post(this.uploadUrl, フォームデータ, { ヘッダー: this.headers、 }) .then((res) => { (res.data)の場合{ if (ファイルインスタンス配列) { //配列ファイルかどうかを判定します。map((v, i) => { v.status = "成功"; v.メッセージ = ""; v.url = res.data[i]; }); } それ以外 { file.status = "成功"; ファイル.メッセージ = ""; ファイルのURLをres.data.uploadUrlに設定します。 } } }) .catch((エラー) => { これを通知します。{ タイプ:「警告」、 メッセージ: 「アップロードに失敗しました」、 }); }); }, //削除 delUploadImg(item) { this.fileList = this.fileList.filter((v) => v.url != item.url); } }, }; </スクリプト> 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: VScode設定のリモートデバッグLinuxプログラムの問題を解決する
1. Docker環境を構築する1. Dockerfileを作成する Centos:latest か...
目次1. MySQL マスタースレーブレプリケーションの原理2. MySQLのコンパイルとインストー...
1. フォーム<form id="" name="" ...
1. 削除delete は、オブジェクトのプロパティを残さずに削除する唯一の方法ですが、その「代替」...
システム: VMTOOLs ダウンロード:リンク: https://pan.baidu.com/s/...
この記事では、参考までにVMWare LinuxにMySQL 5.7.13をインストールするチュート...
序文最近、私の住居の電力事情が不安定で、突然の停電が頻繁に起こります。ノートパソコンを持っているので...
端的に言うと、スクロール可能な要素には非常によくある状況があります。通常、スクロールすると、要素が現...
戦争パッケージを準備する1. 既存のSpringBootプロジェクトを準備し、pomに依存関係を追加...
目次1. 初期化構造2. 蛇の色のレンダリング3. ヘビの動き4. ヘビの死を判定する方法 ヘビの死...
この記事では、参考までに、ズームインとズームアウトのドラッグ機能を実現するためのVueの具体的なコー...
目次1. リソースのダウンロード2. ソフトウェアを解凍する2.1 場所を選択する2.2 名前を変更...
目次序文1. カプセル化の重要性2. どのようにカプセル化しますか? 1. アイデア2. 準備2. ...
SQL文 /* MySQL で重複行を削除するいくつかの方法 ---Chu Minfei ---20...
序文KMS を通じてライセンス認証できる Windows システムは、一般的に VL バージョン、つ...