1

POSTデータとしてサーバーにデータを送信しようとしています。3つのフィールドがあります。1つは文字列、もう1つはTIMEDATE、最後はBLOBです。

次のコードを試しましたが、機能しないようです。バイト配列を文字列に変換できず、バイト配列をパラメーターとして追加する方法がわかりません。

誰かがアイデアを持っているなら、私はあなたから聞いていただければ幸いです!

public static void main(String[] args) {

    HttpClient client = new DefaultHttpClient();
    HttpPost post = new HttpPost("http://127.0.0.1/add_new_profile");

   ProfileData profileData = getProfileData();
   try {
      List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();


      nameValuePairs.add(new BasicNameValuePair("name",profileData.getName()));
      nameValuePairs.add(new BasicNameValuePair("created",profileData.getTimeCreated()));

      nameValuePairs.add(new BasicNameValuePair("profile_data",new String(profileData.getDataAsByteArray())));


      post.setEntity(new UrlEncodedFormEntity(nameValuePairs));

      HttpResponse response = client.execute(post);
      BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
      String line = "";
      while ((line = rd.readLine()) != null) {
        System.out.println(line);
      }

    } catch (IOException e) {
      e.printStackTrace();
    }

サーバーPHPスクリプト:

<?php
include('connect_db.php');
include('tools.php');

$name = $_POST['name'];
$created = $_POST['created'];
$profile_data = $_POST['profile_data'];

$query = "INSERT INTO fingerprint_profiles(name,created,fingerprint) VALUES ('".$name."','".$created"','".$fingerprint_data."')";

$result = mysql_query($query);
print_as_json($result);

?>
4

0 に答える 0