vue.jsは画像のURLに従って画像をダウンロードします

vue.jsは画像のURLに従って画像をダウンロードします

最近、フロントエンドの vue.js ドッキング機能モジュールに取り組んでいたとき、画像をダウンロードする機能を実装する必要がありました。バックエンドは画像の URL の文字列を返しました。さまざまな方法を試した結果、ダウンロードをクリックすると、新しい画像の Web ページにジャンプすることがわかりました。しばらく考えた後、ようやくこの問題を解決しました。

これはバックエンドから返される JSON データです (重要な情報の漏洩を防ぐために IP アドレスはコード化されています)。

私の HTML での参照は次のようになります:

<a @click="downCom" >
                ライセンスをダウンロード<i class="icon-down"></i>
              </a>

vue.js メソッドで画像をダウンロードする方法:

ダウンコム() {
      that = this とする;
      this.$http.files().then(res => {
        hreLocal=""; とします。
        hreLocal = res.data.data.url;
        this.downloadByBlob(hreLocal,"pic")

      });
    },

次のメソッドを直接使用できます。このメソッドに画像の URL を渡すだけで、vue.js を実装して画像をダウンロードできます。

downloadByBlob(url,name) {
    画像 = 新しい画像()
    image.setAttribute('crossOrigin', '匿名')
    image.src = URL
    イメージ.onload = () => {
      キャンバスを document.createElement('キャンバス') にします。
      キャンバス幅 = 画像幅
      キャンバスの高さ = 画像の高さ
      ctx = canvas.getContext('2d') とします。
      ctx.drawImage(画像、0、0、画像.幅、画像.高さ)
      キャンバス.toBlob((blob) => {
        url = URL.createObjectURL(blob) とします。
        ダウンロード(URL,名前)
        // 使用後は URL オブジェクトを解放します URL.revokeObjectURL(url)
      })
    }
  },

download(url,name) メソッドが呼び出されました:

関数ダウンロード(href, name) {
  eleLink = document.createElement('a') とします。
  eleLink.download = 名前
  eleLink.href = href
  eleLink.click()
  eleLink.削除()
}

上記のコードを完了すると、画像を閲覧する代わりにダウンロードできるようになります。

最後に、画像をクリックしてダウンロードすると、次のような効果が得られます。

これで、画像 URL に従って vue.js で画像をダウンロードする方法についての説明は終わりです。vue.js の画像 URL ダウンロードに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • 異なるページ間のJavaScriptデータ転送(URLパラメータ取得)
  • Springboot で URL の後の jsessionid を削除する方法
  • JavaScript における URL オブジェクトの素晴らしい使い方
  • JavaScript ライブラリ urlcat URL ビルダー ライブラリ

<<:  Linux で Oracle データベースをバックアップするためのスケジュールされたタスクの設定に関するチュートリアル

>>:  MySQLカスタム関数とストアドプロシージャの詳細な説明

推薦する

HTML の相対パス (Relative Path) と絶対パス (Absolute Path) の詳細な理解

私は 1 年以上 Java Web 開発に携わっており、HTML または JSP ページの作成は避け...

Vue.jsで実装されたカレンダープラグインの使い方を詳しく説明します

本日実装する機能は、以下の機能です。vue.js シミュレーションカレンダープラグインさて、もう無駄...

MySQL ソートの原則とケース分析

序文ソートはデータベースの基本的な機能であり、MySQL も例外ではありません。ユーザーは、Orde...

HTMLのセマンティクスといくつかの簡単な最適化についての簡単な説明

1. セマンティゼーションとは何ですか? Bing辞書の説明セマンティクス化とは、適切な HTML ...

nginxアクセス制御の実装例

高性能で軽量なウェブサービスソフトウェアであるNginxについて高い安定性 システムリソースの消費量...

ECMAscript の新機能の紹介

目次1. 関数パラメータのデフォルト値1.1 関数パラメータのデフォルト値の指定1.2 分離割り当て...

Linux で圧縮ファイルの内容を表示する 10 の方法 (要約)

一般的に、アーカイブされたファイルや圧縮されたファイルの内容を表示するには、まず解凍してから表示する...

XHTML ブロックレベルタグの概要

* 住所 - 住所* blockquote - ブロック引用* center - 中央揃えブロック*...

シェルを使用して複数のサーバーでバッチ操作を実行する方法

目次SSHプロトコルパスワード接続プロセスsshツールssh公開鍵ログインバッチ操作複数サーバーファ...

Vue 計算プロパティ実装トランスクリプト

この記事では、Vueの計算プロパティ実装レポートカードを参考に共有します。具体的な内容は次のとおりで...

Linux でファイル内の特定の文字の数を数える方法

ファイル内の文字列の数を数えることは、実際には砂の中の石を探すようなものです。ある人は、石を見た後に...

Linux デバイス用ネットワーク ドライバーの紹介

有線ネットワーク: イーサネット 無線ネットワーク: 4G、WiFi、Bluetooth、5G 概要...

Dockerの基礎

序文: Docker はオープンソースのアプリケーション コンテナ エンジンであり、開発者はこれを使...

MySQLは文字列関数のSQL文をインターセプトします

1. left(name,4)は左の4文字をインターセプトしますリスト: SELECT LEFT(2...

Vueタイムラインコンポーネントの使い方

この記事の例では、参考までにvueタイムラインコンポーネントの具体的な実装コードを共有しています。具...