この記事では、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. タイマー監視2. イベント監視3.オブザーバー4. ウィンドウオブジェクト5. DOM参照...
この記事では、Linux で PHP curl 拡張機能をインストールする方法について説明します。ご...
目次1. インターフェース効果のプレビュー2.uViewのインストール3.uViewの設定3.1 m...
1. 背景通常、外部サービスを提供する必要がある Docker コンテナの場合、起動時に -p コマ...
この記事では、トップに戻るボタンを実装するためのJavaScriptの具体的なコードを参考までに紹介...
1. Apache 静的リソースのクロスドメイン アクセスApache設定ファイルhttpd.con...
Vue ユーザーとして、React を拡張する時が来ました。antd の導入、less と rout...
失敗の原因今日、カルーセルを書いていたときに、overflow;hidden; が失敗する可能性があ...
目次1. 関連構成ケース1(使用ツールはvue-cil)ケース2(使用するツールはwebpack) ...
構造関連タグ--------------------------------------------...
この記事の例では、参考までに簡単な虫眼鏡効果を実現するためのjsの具体的なコードを共有しています。具...
目次1. forループ: 基本的でシンプル2. forEach() メソッド: コールバック関数の使...
目次1. Dockerをインストールする2. Jenkinsイメージファイルを取得する3. マウント...
1. 準備1.1 港ダウンロードハーバーダウンロードアドレス:リンクリンクの説明を追加し、必要なバー...
目次1. 観察可能2. 高階関数3. エクスプレスボックスモデル3.1. エクスプレスボックスモデル...