ホームページ WeChat アプレット ミニプログラム開発 WeChat アプレットで複数のファイルをダウンロードするためのシンプルなパッケージ

WeChat アプレットで複数のファイルをダウンロードするためのシンプルなパッケージ

Jun 22, 2018 pm 04:44 PM
WeChat アプレット ドキュメントをダウンロード

この記事では主に、WeChat アプレットで複数のファイルをダウンロードするための簡単なカプセル化の例を紹介します。編集者はそれが非常に優れていると考えたので、参考として共有します。編集者をフォローして見てみましょう

要件

このプロモーション画像には、QR コード、さまざまな背景画像、さまざまなテキストが含まれており、友達のサークルで共有する必要があります。この種の画像生成には、サーバーサイド生成を使用することも検討しましたが、サーバーのパフォーマンスをより多く消費するため、最終的にローカル生成を使用することにしました。

まず、ミニプログラムには制限があり、パッケージは2mを超えることはできず、複数の背景画像がある可能性があるため、背景画像とQRコード画像をサーバーに配置することでサイズを削減する予定ですミニプログラムパッケージの背景画像を柔軟に切り替えます。

共有画像を描画する場合、インターネットアドレスを直接使用できますが、問題が発生したため画像を生成できない可能性があるため、画像ファイルをダウンロードする必要があります。

WeChat にはファイルをダウンロードするための API がありますが、ファイルの一時パスを返します。これはミニ プログラムの現在の起動中にのみ通常使用できます。ファイルを永続的に保存する必要がある場合は、積極的に wx を呼び出す必要があります。次回ミニ プログラムが開始される前に saveFile が起動時にアクセスされます。

そこで、まずダウンロードしたファイルと保存したファイルをカプセル化します

ダウンロードをカプセル化してファイルを保存します

このメソッドは比較的単純です

パラメータ:

  1. id を含むオブジェクト渡されない場合はダウンロードする必要があります。デフォルトはダウンロード URL です。ID が必要な理由は、ダウンロードが 1 つのファイルであることを区別できるためです。ダウンロードされたファイル (WeChat アプレットのバックグラウンド設定が必要です。具体的な設定方法は WeChat 公式ドキュメントを参照してください)

  2. success 成功コールバックの戻りパラメータは、id、savedFilePath を含むオブジェクトです

  3. fail 失敗コールバック、ダウンロード失敗、および保存はすべて失敗とみなされます

  4. /**
     * 下载保存一个文件
     */
    function downloadSaveFile(obj) {
      let that = this;
      let success = obj.success;
      let fail = obj.fail;
      let id = "";
      let url = obj.url;
      if (obj.id){
        id = obj.id;
      }else{
        id = url;
      }
      // console.info("%s 开始下载。。。", obj.url);
      wx.downloadFile({
        url: obj.url,
        success: function (res) {
          wx.saveFile({
            tempFilePath: res.tempFilePath,
            success: function (result) {
              result.id = id;
              if (success) {
                success(result);
              }
            },
            fail: function (e) {
              console.info("保存一个文件失败");
              if (fail) {
                fail(e);
              }
            }
          })
        },
        fail: function (e) {
          console.info("下载一个文件失败");
          if (fail) {
            fail(e);
          }
        }
      })
    }
    ログイン後にコピー

ダウンロード メソッド (wx.downloadFile(obj)) を使用して、WeChat アプレットでサーバー ドメイン名を構成する必要があります。アプレットのバックグラウンドでサーバー ドメイン名を構成してください。 -設定-開発設定-サーバーのドメイン名 詳細については、WeChat 公式ドキュメントを参照してください

複数のファイルのダウンロードをカプセル化して保存します

事前にすべてのファイルが正常にダウンロードされている必要があります。戻りは成功ですパラメータ:

urls ダウンロード アドレス配列を含むオブジェクト、複数の URL ダウンロードをサポート [url1, url2]

  1. success ダウンロードは成功しました (成功したとみなされるには、すべてのファイルが正常にダウンロードされる必要があります) コールバックパラメータ マップ、キー(id) -> 値 ({id,savedFilePath})

  2. fail ダウンロードは失敗します。1 つのメソッドが失敗する限り呼び出されます。ファイル

  3. /**
     * 多文件下载并且保存,强制规定,必须所有文件下载成功才算返回成功
     */
    function downloadSaveFiles(obj) {
      // console.info("准备下载。。。");
      let that = this;
      let success = obj.success; //下载成功
      let fail = obj.fail; //下载失败
      let urls = obj.urls; //下载地址 数组,支持多个 url下载 [url1,url2]
      let savedFilePaths = new Map();
      let urlsLength = urls.length; // 有几个url需要下载
      for (let i = 0; i < urlsLength; i++) {
        downloadSaveFile({
          url: urls[i],
          success: function (res) {
            //console.dir(res);
            //一个文件下载保存成功
            let savedFilePath = res.savedFilePath;
                    
            savedFilePaths.set(res.id, res);
            console.info("savedFilePath:%s", savedFilePath);
            if (savedFilePaths.size == urlsLength) { //如果所有的url 才算成功
              if (success){
                success(savedFilePaths)
              }
              
            }
          },
          fail: function (e) {
            console.info("下载失败");
            if (fail) {
              fail(e);
            }
    
          }
        })
      }
    }
    ログイン後にコピー

を使用して、最初に

/**
 * 下载管理器
 * Created by 全科 on 2018/1/27.
 */
/**
 * 下载保存一个文件
 */
function downloadSaveFile(obj) {
  let that = this;
  let success = obj.success;
  let fail = obj.fail;
  let id = "";
  let url = obj.url;
  if (obj.id){
    id = obj.id;
  }else{
    id = url;
  }
  // console.info("%s 开始下载。。。", obj.url);
  wx.downloadFile({
    url: obj.url,
    success: function (res) {
      wx.saveFile({
        tempFilePath: res.tempFilePath,
        success: function (result) {
          result.id = id;
          if (success) {
            success(result);
          }
        },
        fail: function (e) {
          console.info("保存一个文件失败");
          if (fail) {
            fail(e);
          }
        }
      })

    },
    fail: function (e) {
      console.info("下载一个文件失败");
      if (fail) {
        fail(e);
      }

    }
  })
}
/**
 * 多文件下载并且保存,强制规定,必须所有文件下载成功才算返回成功
 */
function downloadSaveFiles(obj) {
  // console.info("准备下载。。。");
  let that = this;
  let success = obj.success; //下载成功
  let fail = obj.fail; //下载失败
  let urls = obj.urls; //下载地址 数组,支持多个 url下载 [url1,url2]
  let savedFilePaths = new Map();
  let urlsLength = urls.length; // 有几个url需要下载
  for (let i = 0; i < urlsLength; i++) {
    downloadSaveFile({
      url: urls[i],
      success: function (res) {
        console.dir(res);
        //一个文件下载保存成功
        let savedFilePath = res.savedFilePath;                
        savedFilePaths.set(res.id, res);
        console.info("savedFilePath:%s", savedFilePath);
        if (savedFilePaths.size == urlsLength) { //如果所有的url 才算成功
          if (success){
            success(savedFilePaths)
          }          
        }
      },
      fail: function (e) {
        console.info("下载失败");
        if (fail) {
          fail(e);
        }
      }
    })
  }
}
module.exports = {
  downloadSaveFiles: downloadSaveFiles
}
ログイン後にコピー

をインポートしてから、

import download from "download.js"
ログイン後にコピー

を呼び出します。この記事はこれで終わりです。みんなの学習に役立ちます。関連コンテンツの詳細については、PHP 中国語 Web サイトに注目してください。

関連するおすすめ:

WeChat ミニ プログラム ループとネストされたループの使用

WeChat アプレット共有ページのホームページに戻る方法

以上がWeChat アプレットで複数のファイルをダウンロードするためのシンプルなパッケージの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Xianyu WeChat ミニプログラムが正式に開始 Xianyu WeChat ミニプログラムが正式に開始 Feb 10, 2024 pm 10:39 PM

Xianyu の公式 WeChat ミニ プログラムが静かに開始されました。ミニ プログラムでは、プライベート メッセージを投稿して購入者/販売者とコミュニケーションしたり、個人情報や注文を表示したり、商品を検索したりすることができます。プログラム、見てみましょう。 Xianyu WeChat アプレットの名前は何ですか? 回答: Xianyu、アイドル取引、中古品販売、評価、リサイクル。 1. ミニ プログラムでは、アイドル メッセージの投稿、プライベート メッセージを介した購入者/販売者とのコミュニケーション、個人情報と注文の表示、指定された商品の検索などができます。 2. ミニ プログラム ページには、ホームページ、近くに、アイドル投稿、メッセージ投稿、私の投稿 5つの機能; 3. 使用したい場合は、購入する前に WeChat 支払いを有効にする必要があります。

ファイルをダウンロードした後にPythonで開く操作 ファイルをダウンロードした後にPythonで開く操作 Apr 03, 2024 pm 03:39 PM

Python には、ダウンロードしたファイルを開くための次のオプションが用意されています。 open() 関数: 指定されたパスとモード (「r」、「w」、「a」など) を使用してファイルを開きます。リクエスト ライブラリ: download() メソッドを使用して、名前を自動的に割り当て、ファイルを直接開きます。 Pathlib ライブラリ: write_bytes() メソッドと read_text() メソッドを使用して、ファイルの内容を読み書きします。

Workerman ドキュメントにファイルのアップロードとダウンロードを実装する Workerman ドキュメントにファイルのアップロードとダウンロードを実装する Nov 08, 2023 pm 06:02 PM

Workerman ドキュメントでファイルのアップロードとダウンロードを実装するには、特定のコード サンプルが必要です はじめに: Workerman は、シンプル、効率的、使いやすい高性能 PHP 非同期ネットワーク通信フレームワークです。実際の開発では、ファイルのアップロードとダウンロードが一般的な機能要件となりますが、この記事では、Workerman フレームワークを使用してファイルのアップロードとダウンロードを実装する方法と、具体的なコード例を紹介します。 1. ファイル アップロード: ファイル アップロードとは、ローカル コンピューター上のファイルをサーバーに転送する操作を指します。以下が使用されます

Laravelを使用してファイルのアップロードおよびダウンロード機能を実装する方法 Laravelを使用してファイルのアップロードおよびダウンロード機能を実装する方法 Nov 02, 2023 pm 04:36 PM

Laravel を使用してファイルのアップロードおよびダウンロード機能を実装する方法 Laravel は、Web アプリケーションの開発をより簡単かつ効率的にするための豊富な機能とツールを提供する人気のある PHP Web フレームワークです。よく使用される機能の 1 つは、ファイルのアップロードとダウンロードです。この記事では、Laravelを使用してファイルのアップロードおよびダウンロード機能を実装する方法と、具体的なコード例を紹介します。ファイルのアップロード ファイルのアップロードとは、ローカル ファイルを保存するためにサーバーにアップロードすることを指します。 Laravelではファイルアップロードを使用できます

WeChatアプレットは画像アップロード機能を実装 WeChatアプレットは画像アップロード機能を実装 Nov 21, 2023 am 09:08 AM

WeChat アプレットが画像アップロード機能を実装 モバイル インターネットの発展に伴い、WeChat アプレットは人々の生活に欠かせないものになりました。 WeChat ミニ プログラムは、豊富なアプリケーション シナリオを提供するだけでなく、画像アップロード機能などの開発者定義の機能もサポートします。この記事では、WeChat アプレットに画像アップロード機能を実装する方法と具体的なコード例を紹介します。 1. 準備作業 コードを書き始める前に、WeChat 開発者ツールをダウンロードしてインストールし、WeChat 開発者として登録する必要があります。同時に、WeChat についても理解する必要があります。

WeChat アプレットにドロップダウン メニュー効果を実装する WeChat アプレットにドロップダウン メニュー効果を実装する Nov 21, 2023 pm 03:03 PM

WeChat ミニ プログラムでドロップダウン メニュー効果を実装するには、特定のコード サンプルが必要です。モバイル インターネットの普及に伴い、WeChat ミニ プログラムはインターネット開発の重要な部分となり、ますます多くの人が注目し始めています。 WeChat ミニ プログラムを使用します。 WeChat ミニ プログラムの開発は、従来の APP 開発よりも簡単かつ迅速ですが、特定の開発スキルを習得する必要もあります。 WeChat ミニ プログラムの開発では、ドロップダウン メニューが一般的な UI コンポーネントであり、より良いユーザー エクスペリエンスを実現します。この記事では、WeChat アプレットにドロップダウン メニュー効果を実装し、実用的な機能を提供する方法を詳しく紹介します。

WeChat ミニ プログラムに画像フィルター効果を実装する WeChat ミニ プログラムに画像フィルター効果を実装する Nov 21, 2023 pm 06:22 PM

WeChat ミニ プログラムでの画像フィルター効果の実装 ソーシャル メディア アプリケーションの人気に伴い、人々は写真にフィルター効果を適用して、写真の芸術的効果や魅力を高めることがますます好まれています。画像フィルター効果は WeChat ミニ プログラムにも実装でき、より興味深く創造的な写真編集機能をユーザーに提供します。この記事では、WeChat ミニ プログラムに画像フィルター効果を実装する方法を紹介し、具体的なコード例を示します。まず、WeChat アプレットのキャンバス コンポーネントを使用して画像を読み込み、編集する必要があります。 Canvasコンポーネントはページ上で使用できます

WeChat アプレットを使用してカルーセル切り替え効果を実現する WeChat アプレットを使用してカルーセル切り替え効果を実現する Nov 21, 2023 pm 05:59 PM

WeChat アプレットを使用してカルーセル スイッチング効果を実現する WeChat アプレットは、シンプルで効率的な開発と使用特性を備えた軽量のアプリケーションです。 WeChat ミニ プログラムでは、カルーセル スイッチング効果を実現することが一般的な要件です。この記事では、WeChat アプレットを使用してカルーセル切り替え効果を実現する方法と、具体的なコード例を紹介します。まず、カルーセル コンポーネントを WeChat アプレットのページ ファイルに追加します。たとえば、&lt;swiper&gt; タグを使用すると、カルーセルの切り替え効果を実現できます。このコンポーネントでは、 b を渡すことができます。

See all articles