2016-11-03 9 views
1

私は画像と一緒にテキストを解析するのに苦労しています。私はスリム残りのAPIを使用していて、ここに私のコードは次のとおりです。どのように私はアンドロイドからapiサーバーに画像を解析することができます

$app->post('/updateprofile', function() use ($app) { 

    $json = $app->request->getBody(); 
    $data = json_decode($json, true); 

    $id = $data["id"]; 
    $influencer_id = $data["influencer_id"]; 
    $first_name = $data["first_name"]; 

私の問題は、私はAndroidデバイスであるクライアント側でユーザーによってアップロードされているファイルを含むようにしたい場合はどのような、どのようにイメージを解析して変数に入れることはできますか?

+0

イメージを生データに変換し、それをサーバーに渡します。サーバー側では、rawcodeを使用してイメージを作成します。 – Gowri

答えて

0

可能であれば、jsonでエンコードされたデータではなくsubmart/form-dataを使用して、$ _FILESに直接アクセスする必要があります。 、またはあなたがJSONを使用して保存しておきたいことができない場合、あなたはあなたのJSONの一環として、BASE64でエンコードされた画像を送信し、このように受信時に、それをデコードすることができます:

function base64ToImg($base64_string, $filename) { 
    $f = fopen($filename, "wb"); 
    $data = explode(',', $base64_string); 

    fwrite($f, base64_decode($data[1])); 
    fclose($f); 

    return $filename; 
} 


base64ToImg($data["image"], "path/to/img"); 

EDIT

通常のファイルをサーバーに送信する方法は、enctype="multipart/form-data"をhtml形式に設定することです。そう、あなたのフォームがサーバーに

<form name = 'formName' enctype="multipart/form-data"> 
    <input name = 'data1' type = 'text'> 
    <input name = 'file1' type = 'file'> 
</form> 

のようになります、あなたは$ _FILES内の情報や$ _POSTを受け取ります:

<?php 

    $data1 = $_POST["data1"]; 
    $file = $_FILES["file1"]; 
    move_uploaded_file($file["tmp_name"], "path/to/img"); 

?> 

あなたはそれがAndroidデバイスだと言ったので、私はしますあなたが開発しているものがアンドロイドアプリなら、フォームのものは助けにならないかもしれないと付け加えてください(多かれ少なかれ、これは私の最後のアンドロイドアプリ以来ずっと長い時間でした)。

httpClient = new DefaultHttpClient(); 
post = new HttpPost(yourUrl); 
post.setHeader("Content-type", "multipart/form-data"); 
MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); 
multipartEntity.addPart("data1", new StringBody(data1)); 
multipartEntity.addPart("file1", new FileBody(file1)); 
post.setEntity(multipartEntity); 
response = httpClient.execute(httpPost); 
+0

あなたはsubmissionのためにmultipart/form-dataのサンプルコードを私に渡すことができますか?サイズのためにbase64にエンコードイメージを使用したくありません – Crys

関連する問題