近年、モバイル アプリケーション開発の分野で、Uniapp が最初の選択肢となる開発者がますます増えています。 Uniappは、開発者がマルチ端末アプリケーションを開発できる新しい開発フレームワークであり、エンジニアの開発効率を向上させます。この記事では、Uniapp の写真のアップロードと削除の操作について詳しく紹介し、説明します。
1. 画像アップロードの実装
カメラと画像の選択は一般的な機能の 1 つであり、Uniapp はカメラ、フォト アルバム、WeChat モーメント、オンライン ファイルなどを有効にするための豊富な API インターフェイスを提供します。画像を選択してアップロードするには複数の方法が可能です。以下では、Uniapp の API インターフェイスが画像アップロード機能を実装する方法を詳しく紹介します。
Uniapp には、ファイルを非同期でアップロードし、uni-upload を通じて選択できる非常に使いやすいコンポーネント uni-upload が用意されています。画像アップロード機能。
まず、次のコードをフロントエンド ページに追加します。
<view> <uni-upload :upload-url="'your_upload_url'" :on-success="success" :on-fail="fail" @click="upload"> <view class="button">上传图片</view> </uni-upload> </view>
このコードでは、uni-upload
コンポーネントを定義します。 url 属性は画像アップロードの URL アドレスで、
on-success と
on-fail はアップロード成功と失敗のコールバック関数にそれぞれ対応します。
@clickこの属性は、クリック後にアップロード機能をトリガーします。
success と
fail を設定する必要があります。
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) } }); } }); } }
success と
fail です。アップロードが成功または失敗すると、対応するコールバック関数が実行されます。
upload 関数では、uni.chooseImage メソッドを使用して画像を選択し、一時ファイルのパスを取得し、uni.uploadFile メソッドを使用してファイルをサーバーにアップロードします。
name 属性は、ファイルに対応するキー値、つまりサーバーで受信したファイルのパラメータ名を表します。
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 でサーバーから返されたデータを出力します。
methods:{ deleteImage(index) { const filePath = this.uploadList[index].filePath; uni.removeSavedFile({ filePath: filePath, success(res) { console.log(res) }, fail(err) { console.log(err) } }); } }
<view v-for="(item,index) in uploadList" :key="index"> <image :src="item.filePath" mode="aspectFit" style="width:50px;height:50px"></image> <view v-on:click="deleteImage(index)">删除</view> </view>
deleteImage メソッドを使用して、対応するファイルを削除します。
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); } }); } }
以上がUniappの写真のアップロードと削除の操作について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。