一部のリクエストによって送信されるデータは、共通のパラメーター名ではない場合があります。たとえば、WeChat パブリック プラットフォーム サーバーによって開発者の指定された URL に送信されるデータは、パラメーター値のマッピング関係のキーと値のペアです。現時点では、それを渡すことはできません。 java の request.getParameter("パラメータ名") や、php の $_POST['パラメータ名'] を通じて取得することはできません。 この種のデータの場合、解決策は次のとおりです。
追加説明: getReader() と getInputStream() はリクエスト後に 1 回だけ呼び出すことができ、両方を同時に呼び出すことはできません。Phpコード
request.setCharacterEncoding("utf-8"); StringBuilder buffer = new StringBuilder(); java.io.BufferedReader reader=null; try{ /** * getReader() * Retrieves the body of the request as character data using a BufferedReader * getInputStream() * Retrieves the body of the request as binary data using a ServletInputStream. */ reader = request.getReader(); String line=null; while((line = reader.readLine())!=null){ buffer.append(line); } }catch(java.io.IOException e){ e.printStackTrace(); }finally{ if(null!=reader){ try { reader.close(); } catch (java.io.IOException e) { e.printStackTrace(); } } } String res = buffer.toString(); System.out.print(res);
ファイルをアップロードする場合、使用するエンコードタイプは「multipart/form-data」である必要があります。これはテキストデータを送信でき、バイナリデータのアップロードもサポートします。