簡體   English   中英

Android圖像到base64字符串,並發送到PHP

[英]android image to base64 string, and send to php

即時通訊在Android應用程序中使用此代碼,以捕獲來自相機的圖像並發送至JavaScript文件,以發送用於創建文件的PHP控制器,並將一些信息插入到MySQL中。

該過程運行良好,但結果圖像很小,質量很差

if( ACTION_TAKE_PICTURE == requestCode )
     {

        Bundle extras = intent.getExtras();
        Bitmap bitmap;

        if( null == extras || null == (bitmap=(Bitmap)extras.get("data")) ) return; 
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);

        byte [] ba = out.toByteArray();

        String b64img = Base64.encodeToString(out.toByteArray(), Base64.NO_WRAP);

        try { out.close(); } catch(Exception e) {}

        wv.loadUrl( String.format("%s%s('%s')", getString(R.string.js_call_prefix), getString(R.string.js_callback_camera), b64img  ));
     }  

php代碼是:

    public function executeImagen(sfWebRequest $request) {

    $id = $request->getParameter('id');
    $img = $request->getParameter('img');
    $category = $request->getParameter('category');
    $user = $this->getUser()->getAttribute('id_users');


    try {
        $basepdir = $path = sfConfig::get("sf_upload_dir") . '/photos/';
        $basename = date('Ymd_His');
        $buffer = base64_decode(str_replace(' ', '+', $img));
        $pname = sprintf("%s%s.JPG", $basepdir, $basename);
        $photo = sprintf("%s.JPG", $basename);
        $fd = fopen($pname, "wb"); 

        if ($fd) {
            fwrite($fd, $buffer);
            fflush($fd);
            fclose($fd);
        }
    } catch (Exception $exc) {
        echo $exc->getTraceAsString();
    }

    try {

        $tabla = Doctrine::getTable('StorePhotos');
        $tabla = new StorePhotos();

        $tabla->id_store = $id;
        $tabla->id_category = $category;
        $tabla->id_users = $user;
        $tabla->imagen = $photo;
        $tabla->photo_date = date('Y-m-d H:i:s');

        $tabla->save();
    } catch (Exception $e) {
        trigger_error("ERROR: ", $e->getMessage());
    }

    return sfView::NONE;
}

謝謝。

您正在獲取並發送縮略圖。 您需要從磁盤檢索全尺寸圖像。 閱讀Google的本指南

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM