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をゼロから導入する方法

推薦する

jsを使用してシンプルな弾幕スクリーンシステムを実装する

この記事では、弾幕効果を実現するためのネイティブjsの具体的なコードを参考までに共有します。具体的な...

DockerでPython環境をパッケージ化するプロセスの詳細な説明

docker パッケージング Python 環境の手順は次のとおりです。 1 pip listの下に...

Linux カーネル デバイス ドライバー カーネル時間管理に関する注意事項

/****************** * Linux カーネルの時間管理 ***********...

JS の配列トラバーサルについて、一般的なループをいくつ知っていますか?

序文基本的なデータ構造として、配列とオブジェクトはさまざまなプログラミング言語で重要な役割を果たしま...

SQL 文における複合主キーと結合主キーに関する予備的研究

1. 複合主キーいわゆる複合主キーとは、テーブルの主キーが複数のフィールドで構成され、ビジネス上の意...

CentOS 7 で NFS ファイル共有ストレージ サービスを構築するための完全な手順

序文NFS (Network File System) は、ネットワーク ファイル システムを意味し...

Linux で MySQL をインストールして設定する

システム: Ubuntu 16.04LTS 1\公式サイトからmysql-5.7.18-linux-...

HTML テーブル マークアップ チュートリアル (6): 暗い境界線の色属性 BORDERCOLORDARK

表では、右下の境界線の色を個別に定義したり、セルの左上の境界線の色を定義したりできます。これら 2 ...

WeChat アプレットのシンプルなログイン ページの実装 (ソース コード付き)

目次1. 上の写真2. ユーザーが存在しない3. コードをアップロードする1. 上の写真 2. ユー...

vsftpdで仮想ユーザーログインを設定する方法

yum で vsftpd をインストールします [root@localhost など]# yum -...

favico.ico---ウェブサイトicoアイコン設定手順

1. 正常に生成されたアイコン ファイルをダウンロードし、名前を favico.ico に変更して、...

JavaScript の高度なプログラミングの基本参照型

目次1. 日付2. 正規表現3. オリジナルパッケージタイプ序文:参照値(オブジェクト)は、 Dat...

Dockerネットワーク作成に--subnetを追加した後の問題を解決する

Docker ネットワークの作成に –subnet を追加した後、docker network ls...

Windows Server 2008 のサーバー パフォーマンス監視に関するチュートリアル

次に、ログ管理、ログのアーカイブ、ログのトラブルシューティング、イベントの転送と収集のためのコンピュ...

Linux カーネルの copy_{to, from}_user() に関する考察

目次1. copy_{to,from}_user() とは何か1. copy_{to,from}_u...