検索
ホームページウェブフロントエンドuni-appUniappの写真のアップロードと削除の操作について話しましょう

近年、モバイル アプリケーション開発の分野で、Uniapp が最初の選択肢となる開発者がますます増えています。 Uniappは、開発者がマルチ端末アプリケーションを開発できる新しい開発フレームワークであり、エンジニアの開発効率を向上させます。この記事では、Uniapp の写真のアップロードと削除の操作について詳しく紹介し、説明します。

1. 画像アップロードの実装

カメラと画像の選択は一般的な機能の 1 つであり、Uniapp はカメラ、フォト アルバム、WeChat モーメント、オンライン ファイルなどを有効にするための豊富な API インターフェイスを提供します。画像を選択してアップロードするには複数の方法が可能です。以下では、Uniapp の API インターフェイスが画像アップロード機能を実装する方法を詳しく紹介します。

  1. 写真を選択してアップロード

Uniapp には、ファイルを非同期でアップロードし、uni-upload を通じて選択できる非常に使いやすいコンポーネント uni-upload が用意されています。画像アップロード機能。

まず、次のコードをフロントエンド ページに追加します。

<view>
   <uni-upload>
     <view>上传图片</view>
   </uni-upload>
</view>

このコードでは、uni-upload コンポーネントを定義します。 url 属性は画像アップロードの URL アドレスで、on-successon-fail はアップロード成功と失敗のコールバック関数にそれぞれ対応します。 @clickこの属性は、クリック後にアップロード機能をトリガーします。

次に、Vue インスタンスで 2 つのコールバック関数

successfail を設定する必要があります。

methods: {
   success(res){
     console.log("上传成功");
   },
   fail(err){
     console.log("上传失败");
   },
   upload(){
     uni.chooseImage({
       sizeType: ['compressed'],
       sourceType: ['album', 'camera'],
       success: (res) => {
         const tempFilePaths = res.tempFilePaths;
         uni.uploadFile({
           url: this.uploadUrl,
           filePath: tempFilePaths[0],
           name: 'file',
           success: (res) => {
            this.success(res)
           },
           fail: (err) => {
            this.fail(err)
           }
         });
       }
     });
   }
}
このコードでは、まず There を定義します。は 2 つのコールバック関数、

successfail です。アップロードが成功または失敗すると、対応するコールバック関数が実行されます。 upload 関数では、uni.chooseImage メソッドを使用して画像を選択し、一時ファイルのパスを取得し、uni.uploadFile メソッドを使用してファイルをサーバーにアップロードします。 name 属性は、ファイルに対応するキー値、つまりサーバーで受信したファイルのパラメータ名を表します。

これは、Uniapp に写真を選択してアップロードする機能を実装します。

    画像をアップロードして返される結果を取得する
画像をアップロードするプロセスでは、アップロードが成功した後にバックエンドから返される結果を取得する必要があります。アップロード画像の URL アドレスまたはその他の画像アップロード情報を取得できます。

uni.uploadFile インターフェイスでは、アップロードが成功した後にバックエンドによって返される結果を受け取るためのパラメータを成功コールバック関数に追加します。変更されたコードは次のとおりです。

methods: {
   success(res){
     const data = res.data;
     console.log(data);
     console.log("上传成功");
   },
   fail(err){
     console.log("上传失败");
   },
   upload(){
     uni.chooseImage({
       sizeType: ['compressed'],
       sourceType: ['album', 'camera'],
       success: (res) => {
         const tempFilePaths = res.tempFilePaths;
         uni.uploadFile({
           url: this.uploadUrl,
           filePath: tempFilePaths[0],
           name: 'file',
           success: (res) => {
            this.success(res);
           },
           fail: (err) => {
            this.fail(err);
           }
         });
       }
     });
   }
}
上記のコードでは、

success でサーバーから返されたデータを出力します。

2. 画像削除の実装

私たちのアプリケーションでは、ストレージ容量を節約し、プログラムを最適化するという目的を達成するために、アップロードされた画像を削除する必要がある場合があります。Uniapp は多くの API インターフェイスを提供しますこの機能を実装するには。以下に 2 つの方法を示します。

    uni.removeSavedFile メソッドを使用して写真を削除します。
この方法では、アプリケーションで使用されている写真がダウンロードされるか、アプリケーションによって撮影されます。それ自体を削除するには、uni.removeSavedFile を使用してアプリケーション ディレクトリまたはメモリから写真を削除します。

最初に削除メソッドを定義します:

methods:{
  deleteImage(index) {
    const filePath = this.uploadList[index].filePath;
    uni.removeSavedFile({
      filePath: filePath,
      success(res) {
        console.log(res)
      },
      fail(err) {
        console.log(err)
      }
    });
  }
}
コンポーネントで削除メソッドを使用します:

<view>
    <image></image>
    <view>删除</view>
</view>
このコードでは、リスト コンポーネントで v-for 命令を使用して、削除するイメージに関する情報を取得するには、

deleteImage メソッドを使用して、対応するファイルを削除します。

    サーバーへの削除リクエストの開始
このアプリケーションでは、サーバー上の画像を使用している場合、サーバーに削除リクエストを送信することで画像を削除できます。 。 写真。このメソッドと uni.removeSavedFile メソッドの使用の違いは、サーバーにリクエストを送信し、バックグラウンドで画像を削除する必要があることです。

削除メソッドの定義:

methods:{
  deleteImage(index) {
    const url = 'your_delete_url';
    const fileID = this.uploadList[index].url;
    uni.request({
      url: url,
      method: 'DELETE',
      data:{
        fileID:fileID,
        key:'value'  // 可以添加其他参数
      },
      success: (res) => {
        console.log(res);
      },
      fail: (err) => {
        console.log(err);
      }
    });
  }
}
このようにして、サーバーに削除リクエストを送信し、バックエンドがこのリクエストを受信すると、サーバー内の該当するデータを削除できます。

3. 概要

上記は、Uniapp で画像のアップロードと削除機能を実装する 2 つの方法です。実際のアプリケーションでは、実際のニーズに応じて選択して、プログラム内で完璧な画像のアップロードおよび削除機能を実現できます。同時に、使用中により優れたパフォーマンス手法を採用して、プログラムのパフォーマンスを向上させることもできます。

以上が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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール