写真をアップロードして顔を認識する Vue+axios サンプルコード

写真をアップロードして顔を認識する Vue+axios サンプルコード

この記事では、主に写真をアップロードして顔認識を実現するための vue+axios のサンプルコードを紹介し、次のように共有します。

まずは最終的な効果を見てみましょう。

ここで、Vant のファイルアップロードコンポーネントが使われます。バックエンドはアップロードされた写真の顔を認識し、フロントエンドに返し、顔に一致する作業番号または学生番号を取得します。これにより、後で他のシステムでも使用できるようになります。たとえば、顔写真が正常にアップロードされ、認識されると、会議室へのアクセスが顔で開かれるようになります。現在は人物の顔をアップロードするエフェクトのみ行っております。

Axios リクエスト

axios を使用して method: post でデータをリクエストする場合、デフォルトのパラメータ データ型は文字列です。json 形式で渡す必要がある場合は、バックエンドで受け入れられる型に応じて qs.js を導入する必要があります。

Qs処理データ分析

まず、qs は npm リポジトリによって管理されるパッケージであり、npm install qs コマンドでインストールできます。
アドレス: www.npmjs.com/package/qs

qs.parse()、qs.stringify()

  • qs.parse()はURLをオブジェクトに解析します
  • qs.stringify()はオブジェクトをURL形式にシリアル化し、&で連結します。

実際のプロジェクトでの使用方法は次のとおりです。

 varデータ = {
    コード:GetRequest().コード、
    ファイル:ファイル.コンテンツ
}
アクシオス({
   メソッド:'post',
   url:'/app/face/upload',
  データ:qs.stringify(データ)
})

Vantアップロードファイル形式

ファイルをアップロードするときは、バックエンドに渡すために必要なフォーマットに注意する必要があります。これは、ファイル ストリームまたは base64 のいずれかです。vant はすでに両方のタイプを処理していますが、ファイル ストリームをバックエンドに直接渡すために formData も使用する必要があります。一部のバックエンドでは、base64 を自分で処理してフィルターする必要があります。ここでは、通常のfileList[0].content.replace(/^data:image\/\w+;base64,/, '')使用して、バックエンドに渡す必要があります。

完全なコード

    <div id="アプリ">
        <div style="display:flex;    
        コンテンツの中央揃え: 中央;
        アイテムの位置を中央揃えにします。
        幅:100vw;
        高さ: 100vh;">
            <div>
              <van-uploader v-model="fileList" upload-text='正面写真' :max-count="1" :after-read="afterRead" ></van-uploader>
              <p style="text-align:center;font-size:15px;" v-if="data">学生ID/勤務先ID: {{data}}</p>
            </div>
          </div>
      </div>
 
  <スクリプト>
   var アプリ = 新しい Vue({
    el: '#app',
    データ: {
      ファイルリスト: [],
      データ:''、
    },
    方法:{
      afterRead(ファイル) {
      //アップロード中、アップロード中にステータスプロンプトステータスを追加します
        file.status = 'アップロード中';
        file.message = 'アップロード中...';
        varデータ = {
            コード:this.$route.query.code,
            ファイル:ファイル.コンテンツ
          }
        アクシオス({
          メソッド:'post',
          url:'app/face/upload',
          データ:{
            コード:GetRequest().コード、
            ファイル:ファイル.コンテンツ
          }
        }).then((res)=>{
        //リクエストが返され、成功ステータスが取得されました。アップロード成功プロンプトのステータスを done に設定します
          (res.data.code == 0)の場合{
            file.status = '完了';
            ファイル.メッセージ = '';
            this.data = res.data.data.userNo
            this.$notify({ type: 'success', message: 'アップロードに成功しました' });
            
          // リクエストが返され、アップロードが失敗し、ステータスが失敗であるというプロンプトが表示されます
          }それ以外{
            file.status = '失敗';
            file.message = 'アップロードに失敗しました';
           this.$notify({ type: 'warning', message: res.data.msg });
           this.data = ''
          }
        }).catch(()=>{
          file.status = '失敗';
          file.message = 'アップロードに失敗しました';
          this.data = ''
        })
      },
    }
  })
  </スクリプト>

以上で、vue+axios で画像アップロードと顔認識を実装するサンプルコードについての記事は終了です。vue axios で画像アップロードと顔認識の関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue2+トラッキングでPC上で顔認識を実現する例

<<:  MySQLデータ損失の原因と解決策

>>:  Webデザインチュートリアル(8):Webページの階層と空間デザイン

推薦する

ユニアプリプロジェクトでのウォーターフォールレイアウトの実装

GitHubアドレス、気に入ったらスターを付けてくださいプラグインのプレビューチュートリアル1. プ...

Unix/Linuxフォークの隠れたオーバーヘッド

目次1. フォークの起源2. 初期のUNIXオーバーレイ技術3. UNIXに導入される前のフォークの...

Docker Swarm を使用して分散クローラー クラスターを構築する例

クローラーの開発プロセス中に、クローラーを複数のサーバーに展開する必要がある状況に遭遇したことがある...

Vueコンポーネントドキュメント生成ツールライブラリのメソッド

目次.vue ファイルの解析文書情報を抽出するコンポーネント名、説明、プロパティ、メソッド、モデルを...

NodeJs の高メモリ使用量のトラブルシューティング実戦記録

序文これは、オンライン コンテナーの拡張によって発生した調査です。最終的には、実際の OOM が原因...

Docker データ ストレージ tmpfs マウントの詳細な説明

この記事を読む前に、ボリュームとバインドマウントの基本を理解しておいてください。詳細については、次の...

vue+openlayer をベースにマップの集約と散乱効果を実現

目次序文:結果: 1.重合効果: 2. 散布効果:具体的な実装手順: 1. プロジェクトにOpenL...

HTMLのタグと要素の違いの詳細な説明

ウェブページに慣れていない友人の多くは私と同じように、HTML で要素、タグ、属性がどのように定義さ...

HTML+SassはHambergurMenu(ハンバーガーメニュー)を実装します

先日、外国人の方がHTML+CSSを使ってHamburgerMenuを実装している動画を見ました。最...

H5 WeChatパブリックアカウント認証を実装するための簡単な手順

序文昨日、h5 WeChat認証の実装が必要なプロジェクトがありました。したがって、この機能を完了す...

jQueryはクッキーを操作する

コードをコピーコードは次のとおりです。 jQuery.cookie = 関数(名前、値、オプション)...

Webデザインチュートリアル(3):デザインの手順と考え方

<br />前のチュートリアル:Webデザインチュートリアル(2):模倣と盗作について。...

Mysql5.7.17 winx64.zip 解凍バージョンのインストールと設定のグラフィックチュートリアル

1. mysql-5.7.17-winx64.zip をダウンロードします。リンク: https:/...

Vue+js 矢印をクリックして画像を切り替える

この記事の例では、矢印をクリックして画像を切り替えるVue + jsの具体的なコードを共有しています...

ノードをMySQLデータベースに接続する際に発生する問題と解決策

今日、MySQL の新しいバージョン (8.0.21) をインストールしましたが、ノード フレームワ...