この記事の例では、WeChatアプレットで写真をアップロードするための具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。 レンダリング WXML <view class="img-wrap"> <view class="txt">写真をアップロード</view> <view class="imglist"> <view class="item" wx:for="{{imgs}}" wx:key="item"> <image src="{{item}}" alt=""></image> <view class='delete' bindtap='deleteImg' data-index="{{index}}"> <画像 src="../../../images/icon.png"></画像> </ビュー> </ビュー> <view class="last-item" wx:if="{{imgs.length >= 3 ? false : true}}" bindtap="bindUpload"> <text class="sign">+</text> </ビュー> </ビュー> </ビュー> JS データ: { 画像: [], カウント: 3 }, バインドアップロード: 関数 (e) { スイッチ (this.data.imgs.length) { ケース0: このデータ数 = 3 壊す ケース1: このデータ数 = 2 壊す ケース2: このデータ数 = 1 壊す } var that = これ wx.chooseImage({ count: that.data.count, // デフォルトは 3 sizeType: ["original", "compressed"], // オリジナル画像か圧縮画像かを指定できます。どちらもデフォルトで使用可能です。sourceType: ["album", "camera"], // ソースがアルバムかカメラかを指定できます。どちらもデフォルトで使用可能です。success: function (res) { // 選択した写真のローカルファイルパスのリストを返します。tempFilePath は、画像を表示するための img タグの src 属性として使用できます。var tempFilePaths = res.tempFilePaths (var i = 0; i < tempFilePaths.length; i++) { wx.uploadFile({ URL: 'https://graph.baidu.com/upload', ファイルパス: tempFilePaths[i], 名前: "ファイル", ヘッダー: { 「コンテンツタイプ」: 「マルチパート/フォームデータ」 }, 成功: 関数 (res) { (res.statusCode == 200)の場合{ wx.showToast({ タイトル: 「アップロードに成功しました」 アイコン: "なし", 所要時間: 1500 }) that.data.imgs.push(JSON.parse(res.data).data) that.setData({ 画像: that.data.imgs }) } }, 失敗: 関数 (err) { wx.showToast({ タイトル: 「アップロードに失敗しました」 アイコン: "なし", 期間: 2000 }) }, 完了: 関数 (結果) { コンソールログ(結果.errMsg) } }) } } }) }, // 画像を削除する deleteImg: function (e) { var that = これ wx.showModal({ タイトル: 「ヒント」、 内容:「削除」、 成功: 関数 (res) { (res.confirm)の場合{ (var i = 0; i < that.data.imgs.length; i++) { i == e.currentTarget.dataset.index の場合、i, 1 でデータイメージをスプライスします。 } that.setData({ 画像: that.data.imgs }) } そうでない場合 (res.cancel) { console.log("ユーザーがキャンセルをクリック") } } }) } ウィス 。包む { 幅: 100%; パディング: 0 30rpx; ボックスのサイズ: 境界線ボックス; } .wrap .img-wrap { フォントサイズ: 30rpx; 色: #33373E; 下部マージン: 10rpx; } .wrap .img-wrap .txt { 下部マージン: 20rpx; } .wrap .img-wrap .imglist { ディスプレイ: フレックス; flex-wrap: ラップ; } .wrap .img-wrap .imglist .item { 幅: 150rpx; 高さ: 150rpx; 右マージン: 22rpx; 下部マージン: 10rpx; 位置: 相対的; } .wrap .img-wrap .imglist .last-item { 幅: 150rpx; 高さ: 150rpx; テキスト配置: 中央; 行の高さ: 146rpx; 境界線: 2rpx 破線 #8B97A9; ボックスのサイズ: 境界線ボックス; } .wrap .img-wrap .imglist .item 画像 { 幅: 100%; 高さ: 100%; } .wrap .img-wrap .imglist .item .delete { 幅: 30rpx; 高さ: 30rpx; 位置: 絶対; 上: -14rpx; 右: -12rpx; } 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Docker /var/lib/docker/aufs/mnt ディレクトリのクリーニング方法
>>: Linux (Centos7) に mysql8.0.18 をインストールするチュートリアル図
なぜvimを学ぶのかLinuxには多数の設定ファイルがあるため、Linuxには多くのテキスト処理ツー...
この記事では、Vueを使用して虫眼鏡付きの検索ボックスを実装する方法を紹介します。具体的な内容は次の...
目次vue2の場合vue3ではセットアップに関する注意事項セットアップライフサイクルは、before...
目次序文1. リスナーの基本的な使い方2. リスナー形式3. ページに入るとすぐに監視とディープモニ...
1. 新しいユーザーを追加するローカルIPアクセスのみを許可する '123456' ...
需要背景ビジネス テーブル tb_image のデータの一部は次のとおりです。id は一意ですが、i...
英語: IE では、リンク タグによって href が自動的に補完されます。 Ajax Link T...
以前、raspbian で実行したときに opencv の一部の依存関係をパッケージ化できず、一部の...
目次序文時間型を保存するのに文字列を使用しないでくださいMySQL の日付型日時タイムスタンプTIM...
MySQL でテーブルスペースの断片化を解消する詳細な例断片化の原因(1)テーブルのストレージは断片...
今日、SQLトレーニングの質問バンクでこの質問を見ました。これは、非常に代表的なマルチテーブル変更の...
この記事では、ローカル マシンに Java 8 をインストールせずに、Java 8 を使用して簡単な...
序文私自身の個人ブログを入力しているときに、ブログの詳細ページでさまざまなコンテンツをコピーするさま...
React で国際化を実現するにはどうすればよいでしょうか? react-intlプラグインは、Re...
1. Baidu Eslint Ruleプラグインをインストールする npm i -D eslint...