ホームページ WeChat アプレット ミニプログラム開発 WeChat JS-SDKのアップロードする携帯写真選択機能について

WeChat JS-SDKのアップロードする携帯写真選択機能について

Jun 27, 2018 pm 02:24 PM
js sdk アップロード 微信

この記事では、主に携帯電話の写真アップロード機能を選択するための WeChat JS-SDK を詳しく紹介します。興味のある友人は参考にしてください。

プロジェクトでは、Web ページであるため、写真のアップロードを選択する必要があります。 WeChatのブラウザ上で動作するため、プロジェクト開発にはWeChatのjs-sdkが提供する写真選択機能が利用されます。実際の開発では WeChat Web 開発者ツールを使用する必要があります。詳細な参照リンク: https://mp.weixin.qq.com/wiki/10/e5f772f4521da17fa0d7304f68b97d7e.html。

1. WeChat JS-SDK 関連ファイルを構成します

1)、JSSDk は最新の 1.2.0 バージョンを使用します: https://res.wx.qq.com/open/js/jweixin-1.2.0.js 。

iOS Web 開発適応の問題:

変更: 1.2.0 より前の JSSDK バージョンは、chooseImage API によって返される localld を使用した画像のプレビューをサポートしなくなりました: "img src=wxLocalResource://50114659201332"。

適応の提案: JSSDK を最新バージョン 1.2.0 に直接アップグレードすると、ページが自動的に適応できるようになりますが、この場合、getLocalImgData インターフェースを使用してデータを直接取得することは効果的ではない可能性があります。

(詳細コード添付)

2)、jsapiSign.js ファイル:

/**
 * 使用jssdk接口的页面,必须引用该文件
 * actionUrl:后台服务请求地址
 * url:微信jssdk授权页面地址
 */
$.post("/getJsapiSign", {'url':location.href.split('#')[0]}, function(data) {
 wx.config({
 debug : false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
 appId : data.appid, // 必填,公众号的唯一标识
 timestamp : data.timestamp, // 必填,生成签名的时间戳
 nonceStr : data.noncestr, // 必填,生成签名的随机串
 signature : data.signature,// 必填,签名,见附录1
 jsApiList : [ 'checkJsApi',
  'onMenuShareTimeline',
  'onMenuShareAppMessage',
  'onMenuShareQQ',
  'onMenuShareWeibo',
  'hideMenuItems',
  'showMenuItems',
  'hideAllNonBaseMenuItem',
  'showAllNonBaseMenuItem',
  'translateVoice',
  'startRecord',
  'stopRecord',
  'onRecordEnd',
  'playVoice',
  'pauseVoice',
  'stopVoice',
  'uploadVoice',
  'downloadVoice',
  'chooseImage',
  'previewImage',
  'uploadImage',
  'downloadImage',
  'getNetworkType',
  'openLocation',
  'getLocation',
  'hideOptionMenu',
  'showOptionMenu',
  'closeWindow',
  'scanQRCode',
  'chooseWXPay',
  'openProductSpecificView',
  'addCard',
  'chooseCard',
  'openCard',
  'getLocalImgData'
 ]
 });
 
 wx.error(function(res) {
 alert("wx.config加载失败");
 });
}, 'json');
ログイン後にコピー

2. 具体的な実装プロセス

1)、写真を選択

ここでは WeChat js のchooseImage メソッドを使用します。 sdk を使用すると、ローカルに保存されている写真の ID を取得するのは非常に簡単です:

2)、写真データを取得します

WeChat の公式開発ドキュメントによると、取得した localId は img の src 属性として直接表示できます。要素

3)、写真をアップロード

ここではWeChat js-sdkのuploadImageメソッドが使用されています

wx.chooseImage({
 count: 1, // 默认9
 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
 success: function (res) {
  var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
  wx.uploadImage({
  localId: localIds[0], // 需要上传的图片的本地ID,由chooseImage接口获得
  isShowProgressTips: 1, // 默认为1,显示进度提示
  success: function (res) {
   var medias = {'lid':localIds[0].toString(), 'sid':res.serverId};
   $('#img_media').attr('src', medias.lid);
  },fail:function(res){
   alert("上传失败");
  }
  });
 }
});
ログイン後にコピー

3. iOS WKWebview Web開発適応

JSAPI関連適応

1)、キャッシュサポートされなくなります

変更: WKWebview では、Lieutenant General はキャッシュ jsapi をまだサポートしていません。

適応提案: この API を使用するすべての開発者は、ページ関連のロジックを削除できます。

2)、ページは LocalID を介して画像をプレビューします

変更: 1.2.0 より前の JSSDK バージョンは、chooseImage API によって返される localld を使用した画像のプレビューをサポートしなくなりました (例: "img src=wxLocalResource://50114659201332")。

適応に関する提案: ページが自動的に適応できるように、JSSDK を最新バージョン 1.2.0 に直接アップグレードします。ただし、この場合、getLocalImgData インターフェイスを使用してデータを直接取得することはできません。

(JSSDk の現在のオンライン バージョンは 1.0.0 と 1.1.0、更新されたバージョンは 1.2.0、https://res.wx.qq.com/open/js/jweixin-1.2.0.js )

if (window.__wxjs_is_wkwebview) {
 wx.getLocalImgData({
 localId: localIds[0], // 图片的localID
 success: function (res) {
  var localData = res.localData; // localData是图片的base64数据,可以用img标签显示
  localData = localData.replace('jgp', 'jpeg');//iOS 系统里面得到的数据,类型为 image/jgp,因此需要替换一下
  $('#img_media').attr('src', localData);
 },fail:function(res){
  alert("显示失败");
 }
 });
}
ログイン後にコピー

3. JSSDK を使用し、権限認証に wx.config を使用する場合は、jsapi 呼び出しの失敗に注意する必要があります

変更点: WKWebview の内部実装の変更により、次のことが可能になりました。 WeChat のページの jsapi 権限管理を変更する 特定の論理調整により、以前は正常に許可されていた jsapi が正常に権限を取得できなくなり、jsapi の呼び出しに失敗する可能性が非常に低くなります。

適応の提案:

1. iOS WeChat 6.5.1、WKWebview には、このバージョンで次の問題があることが知られています。シングルアプリケーションページ) を使用し、JSSDK の wx.config を使用して jsapi を認可します。 このとき、権限がないために jsapi の呼び出しに失敗する可能性が高くなります。 可能であれば、アンカー ハッシュ テクノロジを使用して 6.5.1 のページの履歴テクノロジを置き換えて、この問題を解決できます。

2. iOS WeChat 6.5.2 以降のバージョンでは上記の問題は発生しませんが、履歴またはハッシュ技術を使用してページ ナビゲーション アドレスを変更するページにそのような問題がまったく発生しないことを 100% 確認することはできません。引き続き注意が必要です。

この記事は「JavaScript WeChat 開発スキルのまとめ」としてまとめられており、どなたでも学習して読むことができます。

今注目を集めているWeChatミニプログラムチュートリアルをおすすめしたいと思います。編集者が丁寧にまとめた「WeChatミニプログラム開発チュートリアル」を気に入っていただければ幸いです。

上記がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

WeChat アプレットでの支払い後に SDK の非同期通知と検証注文メソッドを呼び出す

WeChat アプレットでのネットワーク リクエスト (post リクエストと get リクエスト)

以上がWeChat JS-SDKのアップロードする携帯写真選択機能についての詳細内容です。詳細については、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衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Enterprise WechatでのJSリソースキャッシュの問題を解決する方法は? Enterprise WechatでのJSリソースキャッシュの問題を解決する方法は? Apr 04, 2025 pm 05:06 PM

Enterprise WechatのJSリソースキャッシュ問題に関する議論。プロジェクト機能をアップグレードするとき、一部のユーザーは、特にエンタープライズでうまくアップグレードできない状況に遭遇することがよくあります...

H5ページの生産とWeChatアプレットの違いは何ですか H5ページの生産とWeChatアプレットの違いは何ですか Apr 05, 2025 pm 11:51 PM

H5はより柔軟でカスタマイズ可能ですが、熟練したテクノロジーが必要です。ミニプログラムはすぐに開始でき、メンテナンスが簡単ですが、WeChatフレームワークによって制限されています。

会社のセキュリティソフトウェアはアプリケーションの実行に失敗していますか?それをトラブルシューティングと解決する方法は? 会社のセキュリティソフトウェアはアプリケーションの実行に失敗していますか?それをトラブルシューティングと解決する方法は? Apr 19, 2025 pm 04:51 PM

一部のアプリケーションが適切に機能しないようにする会社のセキュリティソフトウェアのトラブルシューティングとソリューション。多くの企業は、内部ネットワークセキュリティを確保するためにセキュリティソフトウェアを展開します。 ...

H5とミニプログラムとアプリの違い H5とミニプログラムとアプリの違い Apr 06, 2025 am 10:42 AM

H5。ミニプログラムとアプリの主な違いは次のとおりです。技術アーキテクチャ:H5はWebテクノロジーに基づいており、ミニプログラムとアプリは独立したアプリケーションです。経験と機能:H5は軽量で使いやすく、機能が限られています。ミニプログラムは軽量で、インタラクティブが良好です。アプリは強力で、スムーズな経験があります。互換性:H5はクロスプラットフォーム互換性があり、アプレットとアプリはプラットフォームによって制限されています。開発コスト:H5には、開発コストが低く、中程度のミニプログラム、最高のアプリがあります。適用可能なシナリオ:H5は情報表示に適しており、アプレットは軽量アプリケーションに適しており、アプリは複雑な機能に適しています。

OUYI Exchange App国内ダウンロードチュートリアル OUYI Exchange App国内ダウンロードチュートリアル Mar 21, 2025 pm 05:42 PM

この記事では、中国のOUYI OKXアプリの安全なダウンロードに関する詳細なガイドを提供します。国内のアプリストアの制限により、ユーザーはOUYI OKXの公式Webサイトからアプリをダウンロードするか、公式Webサイトが提供するQRコードを使用してスキャンおよびダウンロードすることをお勧めします。ダウンロードプロセス中に、公式Webサイトのアドレスを確認し、アプリケーションの許可を確認し、インストール後にセキュリティスキャンを実行し、2要素の検証を有効にしてください。 使用中は、地方の法律や規制を遵守し、安全なネットワーク環境を使用し、アカウントのセキュリティを保護し、詐欺に対して警戒し、合理的に投資してください。 この記事は参照のみであり、投資のアドバイスを構成していません。

会社のセキュリティソフトウェアがアプリケーションと競合する場合はどうすればよいですか? HUESセキュリティソフトウェアをトラブルシューティングする方法は、一般的なソフトウェアを開きませんか? 会社のセキュリティソフトウェアがアプリケーションと競合する場合はどうすればよいですか? HUESセキュリティソフトウェアをトラブルシューティングする方法は、一般的なソフトウェアを開きませんか? Apr 01, 2025 pm 10:48 PM

互換性の問題と企業のセキュリティソフトウェアとアプリケーションのトラブルシューティング方法。多くの企業は、イントラネットセキュリティを確保するためにセキュリティソフトウェアをインストールします。ただし、セキュリティソフトウェアが時々...

H5およびMINIプログラムの開発ツールは何ですか? H5およびMINIプログラムの開発ツールは何ですか? Apr 06, 2025 am 09:54 AM

H5開発ツールの推奨事項:VSCODE、WebStorm、Atom、Brackets、Sublime Text;ミニプログラム開発ツール:WeChat開発者ツール、Alipay Mini Program Developer Tools、Baidu Smart MiniプログラムIDE、Toutiao Mini Program Developer Tools、Taro。

Binance Virtual Currencyの売買方法に関する詳細なチュートリアル Binance Virtual Currencyの売買方法に関する詳細なチュートリアル Mar 18, 2025 pm 01:36 PM

この記事では、2025年に更新されたBinance Virtual Currencyの売買に関する簡単なガイドを提供し、Binanceプラットフォームでの仮想通貨取引の操作手順を詳細に説明します。このガイドは、フィアット通貨購入USDT、他の通貨の通貨取引購入(BTCなど)、および市場取引や制限取引を含む販売業務をカバーしています。 さらに、このガイドは、Fiat Currency取引の支払いセキュリティやネットワーク選択などの重要なリスクを特に思い出させ、ユーザーが安全かつ効率的にバイナンストランザクションを実施するのに役立ちます。 この記事を通して、Binanceプラットフォームで仮想通貨を売買するスキルをすばやく習得し、トランザクションリスクを減らすことができます。

See all articles