formData 形式タイプを使用してファイルをアップロードする Vue の例

formData 形式タイプを使用してファイルをアップロードする Vue の例

Vue では、一般的にフロントエンドとバックエンドを分離したプロジェクトがあり、データ操作を実装するには、axios などのツールを使用してバックグラウンドにリクエストを送信する必要があります。
その中でも、ファイルのアップロードは比較的難しいものです。この記事では、5 分でファイルをアップロードする方法を説明します。

1. たとえば、写真をアップロードする場合、バックエンドはフロントエンドからformDataタイプのデータを転送する必要があります。

<el-button type="primary" @click="uploadFile2()">クリックしてアップロード</el-button>
 <input type="file" @change="fileValueChange2()" ref="uploadFile2" enctype="multipart/form-data" style="display:none;" accept="image/jpeg,image/png,image/gif">

これを実現するためにネイティブ入力を使用します。

アップロードファイル2(){
	// このイベントはボタンがクリックされたときにトリガーされます // この関数はファイルアップロードポップアップボックスを開きます this.$refs.uploadFile2.click()
   },
   ファイル値変更2(){
   // ファイルを選択すると、入力変更イベントがトリガーされ、この関数が入力されます var formData = new FormData()
     // this.$refs.uploadFile2 は Vue で DOM 要素を取得するためのメソッドです // アップロードされたすべてのファイルは files を通じて取得できます。ファイルが複数ある場合は、formData.append('file',this.$refs.uploadFile2.files[0])
     // リクエストタイプを設定する必要があります formData.append('type', "head");
     // ID を渡す必要がある場合は、次のコードを参照してください formData.append('id', this.id);
     // 設定が完了したら、formData 変数をバックエンドに渡すだけです insertNavigationUpload(formData).then(res=>{
       console.log('簡単でしょ?友よ')
     })
   },

1 つのステップを忘れるところでした。axios リクエストの二次カプセル化についてはあまり説明しません。ここではインターフェースのみを示します。

エクスポートconst tMessageNotification = data =>{
  リクエストを返す({
    url:'/tMessageNotification/upload',
    メソッド: 'POST'、
    データ、
    ヘッダー: {'Content-Type': 'application/json'},
  })
}

これで、formData 形式タイプを使用してファイルをアップロードする Vue に関するこの記事は終了です。Vue ファイルのアップロードに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue で axios を使用してファイル (FormData) をアップロードする方法
  • Vue formDataは画像のアップロードを実現します
  • VueはformDataを使用してデータをバックグラウンドに送信します
  • VuejsはFormDataを使用して画像ファイルのAjaxアップロードを実装します。
  • vue+element_uiはファイルをアップロードし、追加のパラメータを渡します
  • Vue のバックグラウンド例にファイルをアップロードする詳細な説明
  • ファイルアップロード機能を実現するVue Element UI + OSS

<<:  LinuxのCentos7でmysql5.7.29を構築する詳細なプロセス

>>:  Tencent Cloud Serverをゼロから導入する方法

推薦する

HTML と CSS の命名規則の概要

CSS命名規則 ヘッダー: ヘッダーコンテンツ: コンテンツ/含むフッターナビゲーション: navサ...

Vueは、商品の数を制御するためのコンポーネントのパッケージ化と使用を実装します。

Vueのコントロール商品数量コンポーネントのカプセル化と使用は参考までに。具体的な内容は以下のとお...

表 td 画像水平および垂直中央揃えコード

HTMLコード:コードをコピーコードは次のとおりです。 <td align="cen...

vue-router 4 の使用例の詳しい説明

目次1. インスタンスをインストールして作成する2. vue-router4の新機能2.1 動的ルー...

GET POSTの違い

1. Get はサーバーからデータを取得するために使用され、Post はサーバーにデータを渡すために...

Vueのシンプルストアの詳しい説明

Vue におけるストアの最も単純な応用はグローバル ストレージです。ここでは、相互にジャンプするため...

MySQL 5.7.17 のインストールと設定方法のグラフィック チュートリアル (Windows)

1. ソフトウェアをダウンロードする1. MySQL の公式サイトにアクセスし、Oracle アカ...

モバイルプラットフォーム開発におけるメタタグの適用の詳細な説明

デスクトップ プラットフォームの Web レイアウトのメタ タグは誰もがよく知っています。これは常に...

Centos7 での python3 のインストールとアンインストールに関するチュートリアル

1. Python 3をインストールする1. 依存パッケージをインストールしますyum instal...

Vueはシンプルなマーキー効果を実装します

この記事では、Vueの具体的なコードを共有して、シンプルなマーキー効果を実現しています。具体的な内容...

JavaScript の遅延読み込み属性パターンを理解する

従来、開発者はインスタンスで必要になる可能性のあるデータに対して JavaScript クラス内にプ...

入力ファイルのカスタムボタンの美化(デモ)

以前にも同じような記事を書いたことがありますが、js スクリプトを使用しており、ファイルパスを表示で...

Tomcat 例外の解決方法 (リクエスト ターゲットに無効な文字が見つかりました。有効な文字は RFC 7230 および RFC 3986 で定義されています)

1. シナリオ表示Tomcat ログに次の例外情報が時々報告されます。何が起こっているのでしょうか...

Jenkins + Docker + ASP.NET Core の自動デプロイメントの問題について (落とし穴を避ける)

このブログを書くつもりはなかったのですが、実際の操作中に、ネットワークの問題に圧倒されたこと (ネッ...

MySQL 学習データベースバックアップの詳細な説明

目次1.DB、DBMS、SQL 2. データベースの特徴3. SQL分類4. MySQLを起動および...