検索
ホームページウェブフロントエンドuni-appuniappを利用してファイルアップロード機能を実装する

uniappを利用してファイルアップロード機能を実装する

uniapp は、vue.js フレームワークに基づくクロスプラットフォーム アプリケーション開発フレームワークであり、一度作成して複数のプラットフォームにデプロイする効果を実現できます。実際のアプリケーションでは、画像のアップロード、ビデオのアップロードなど、ファイルのアップロードが一般的な要件になります。この記事では、uniappを使用してファイルアップロード機能を実装する方法と具体的なコード例を詳しく紹介します。

ファイル アップロードの実装の基本的な考え方は、まずフロントエンドで選択したファイルをパッケージ化し、次にそれを処理のためにバックエンドに送信することです。 uniapp では、公式に提供されている uni.uploadFile メソッドを使用してファイルをアップロードできます。 uni.uploadFile メソッドでは、ローカル リソースをリモート サーバーにアップロードできます。アップロード プロセスでは、断片化されたアップロードを使用して、安定した信頼性の高いファイル アップロードを実現します。

ファイルアップロード機能を実装する前に、uniapp-cli 環境と対応する uniapp フレームワークのバージョンをインストールする必要があります。

次に、具体的なコードの実装を見てみましょう。

フロントエンド部分:

フロントエンドページでは、ファイルアップロードフォームとアップロードボタンを設定する必要があります。コードは次のとおりです:

1. HTML ページにファイル アップロード フォームを設定します:

<form>
  <input type="file" id="fileInput" multiple="multiple">
</form>

このうち、<input type="file"> タグはファイルのアップロード フォームを設定します。アップロード ボタンをクリックすると、システム ファイル選択ダイアログ ボックスが自動的に表示されます。

2. HTML ページにアップロード ボタンを設定します:

<button type="button" @click="uploadFile">上传</button>

ボタンに @click イベントを設定します。ユーザーがアップロード ボタンをクリックすると、 UploadFile# がトリガーされます。 ##アップロード操作を実行する関数。

3. JS ファイルに UploadFile 関数を記述します:

uploadFile() {
  uni.chooseImage({
    count: 1, // 可上传的图片数量,为1表示单张上传
    success: function (res) {
      uni.showLoading({
        title: "上传中,请稍候..."
      });
      uni.uploadFile({
        url: "http://localhost:8081/upload.php", // 上传接口地址
        filePath: res.tempFilePaths[0], // 上传文件的本地路径
        name: "uploadfile", // 上传文件对应的 key 值
        success: function (result) {
          uni.hideLoading();
          console.log(result);
          uni.showToast({
            title: "上传成功!",
            duration: 2000
          });
        }
      });
    }
  });
}

このうち、

uni.chooseImage はシステム アルバムと uni を開くために使用されます。 showLoading を使用します。 アップロード中にローディング ボックスを表示するには、uni.uploadFile を使用してファイルをアップロードするリクエストを送信します。

uni.uploadFile の特定のパラメータの概要:

    url: アップロード インターフェイスのアドレス;
  • filePath: ローカルアップロードされたファイルのパス ;
  • name: アップロードされたファイルの名前の値、バックエンド インターフェイスはこのパラメータを受け取る必要があります;
  • success: アップロードが成功した後のコールバック関数。
このようにして、フロントエンドのコードが完成します。

バックエンド部分:

バックエンドでは、アップロードされたファイル情報を処理する必要があります。ここでは、PHP 言語を例として、対応する処理ロジックを記述します。

1.アップロード処理用のupload.phpファイルを作成します:

<?php
  $uploaddir = './upload/'; //文件上传的目录,需要事先创建好
  $filename = $_FILES['uploadfile']['name']; // 获取上传文件的名称
  $uploadfile = $uploaddir . $filename;
  if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploadfile)) { //上传成功
    echo json_encode(array(
      'success' => true,
      'msg' => '上传成功!'
    ));
  } 
  else { //上传失败
    echo json_encode(array(
      'success' => false,
      'msg' => '上传失败!'
    ));
  }
?>

このうち、

move_uploaded_file関数は、一時ファイルを指定したディレクトリに移動するために使用します。ここにアップロードされたファイルは名前が変更されるため、元のファイル名を使用すると競合が発生する可能性があります。なお、アップロードディレクトリは事前にサーバー上に作成しておく必要があります。

2. アップロード リクエストを監視するバックエンド サーバーとして PHP サービスを開始します。 xampp または wampserver をローカルにインストールします。起動後、ブラウザに

localhost/xxx/upload.php と入力してアップロード サービスにアクセスします (xxx は、upload.php が保存されているフォルダーの場所です)。

これでバックエンド部分のコードが完成し、サーバーアドレス経由で指定したディレクトリにファイルをアップロードできるようになります。

概要:

この記事では、uniapp を使用してファイル アップロード機能を実装する具体的な手順を紹介します。これには主にフロントエンド部分とバックエンド部分が含まれます。フロントエンドを通じてファイル アップロード フォームとアップロード ボタンを設定し、JS ファイルにアップロード関数を記述します。バックエンドは PHP を使用してアップロード サービスを記述し、アップロード リクエストを監視し、指定されたディレクトリにファイルをアップロードします。フロントエンドがバックエンドにアップロード要求を送信するとき、uni.uploadFile メソッドを使用してファイルをアップロードすると、安定した信頼性の高いアップロード サービスを提供できます。

以上がuniappを利用してファイルアップロード機能を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
さまざまなプラットフォーム(モバイル、Webなど)で問題をどのようにデバッグしますか?さまざまなプラットフォーム(モバイル、Webなど)で問題をどのようにデバッグしますか?Mar 27, 2025 pm 05:07 PM

この記事では、モバイルプラットフォームとWebプラットフォームのデバッグ戦略について説明し、Android Studio、Xcode、Chrome Devtoolsなどのツールを強調し、OSとパフォーマンスの最適化全体で一貫した結果を得るためのテクニックについて説明します。

UNIAPP開発に利用できるデバッグツールは何ですか?UNIAPP開発に利用できるデバッグツールは何ですか?Mar 27, 2025 pm 05:05 PM

この記事では、Hbuilderx、Wechat開発者ツール、Chrome Devtoolsなどのツールに焦点を当てたUniapp開発のためのデバッグツールとベストプラクティスについて説明します。

UNIAPPアプリケーションのエンドツーエンドテストをどのように実行しますか?UNIAPPアプリケーションのエンドツーエンドテストをどのように実行しますか?Mar 27, 2025 pm 05:04 PM

この記事では、複数のプラットフォームにわたるUNIAPPアプリケーションのエンドツーエンドテストについて説明します。テストシナリオの定義、Appiumやサイプレスなどのツールの選択、環境のセットアップ、テストの書き込みと実行、結果の分析、インテグラートをカバーします

UNIAPPアプリケーションで実行できるさまざまなタイプのテストは何ですか?UNIAPPアプリケーションで実行できるさまざまなタイプのテストは何ですか?Mar 27, 2025 pm 04:59 PM

この記事では、ユニット、統合、機能、UI/UX、パフォーマンス、クロスプラットフォーム、セキュリティテストなど、UNIAPPアプリケーションのさまざまなテストタイプについて説明します。また、クロスプラットフォームの互換性を確保し、JESのようなツールを推奨しています

Uniappの一般的なパフォーマンスアンチパターンは何ですか?Uniappの一般的なパフォーマンスアンチパターンは何ですか?Mar 27, 2025 pm 04:58 PM

この記事では、過剰なグローバルデータの使用や非効率的なデータバインディングなど、UNIAPP開発における一般的なパフォーマンスアンチパターンについて説明し、これらの問題を特定して緩和してアプリのパフォーマンスを向上させる戦略を提供します。

プロファイリングツールを使用して、UNIAPPでパフォーマンスボトルネックを識別するにはどうすればよいですか?プロファイリングツールを使用して、UNIAPPでパフォーマンスボトルネックを識別するにはどうすればよいですか?Mar 27, 2025 pm 04:57 PM

この記事では、プロファイリングツールを使用して、Uniappのパフォーマンスボトルネックを識別および解決し、セットアップ、データ分析、最適化に焦点を当てています。

Uniappでネットワークリクエストを最適化するにはどうすればよいですか?Uniappでネットワークリクエストを最適化するにはどうすればよいですか?Mar 27, 2025 pm 04:52 PM

この記事では、Uniappでネットワーク要求を最適化するための戦略について説明し、遅延の削減、キャッシュの実装、および監視ツールを使用してアプリケーションのパフォーマンスを向上させることに焦点を当てています。

UniappのWebパフォーマンスのために画像を最適化するにはどうすればよいですか?UniappのWebパフォーマンスのために画像を最適化するにはどうすればよいですか?Mar 27, 2025 pm 04:50 PM

この記事では、圧縮、レスポンシブデザイン、怠zyなロード、キャッシング、およびWebP形式の使用を通じて、Webパフォーマンスを向上させるために、Uniappの画像の最適化について説明します。

See all articles

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません