0

HttpPost を使用した単純なクライアント サーバー通信に取り組んでいます。クライアント側から、パラメーター (ファイル名) を設定しています。

サーバー側でパラメーター値を取得しようとすると、常にnullが表示されます。MultiPartEntityを使用してみましたが、それでも機能しません。

以下は私のクライアントコードです:

            HttpPost httppost = new HttpPost("http://xxx.xxx.xxx.xxx:yyyy");
            InputStreamEntity reqEntity = new InputStreamEntity(
                    new FileInputStream(dataFile), -1);
            reqEntity.setContentType("binary/octet-stream");

            // Send in multiple parts if needed
            reqEntity.setChunked(true);
            httppost.setEntity(reqEntity);

            //setting the parameter
            httppost.getParams().setParameter("filename", "xxxx.xml");
            HttpResponse response = httpclient.execute(httppost);
            int respcode =  response.getStatusLine().getStatusCode();

そして、これは私のサーブレットコードです:

    response.setContentType("binary/octet-stream");
    Scanner scanner = new Scanner(request.getInputStream());

    // reading the parameter
    String filename = request.getParameter("filename");
    BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File("C:\\" + filename)));

この問題の可能な解決策を教えてください。

前もって感謝します!

4

1 に答える 1

-1

パラメータの設定が間違っています...クライアント側で、次のようにします。

ArrayList<NameValuePair> postParameters = postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("filename", "xxxx.xml");
httppost.setEntity(new UrlEncodedFormEntity(postParameters));
HttpResponse response = httpclient.execute(httppost);
于 2013-08-22T11:26:32.653 に答える