2015-01-20 2 views
0

Привет Я просто пытаюсь загрузить изображение с помощью navajcrop в расширение yii. которые загружают изображение, используя вызов ajax. Я могу загрузить изображение. но проблема в том, что загруженное изображение не может быть view.when я просматривать загруженное изображение его отображение ниже ошибок: - Ошибка интерпретации файл изображения JPEG (не файл JPEG: начинается с 0x75 0xab) кодYii Crop Загрузка изображения с использованием Ajax Issue

контроллера: -

public function actionUpload(){ 
    $model = new Register(); 
    if(isset($_POST)){ 
     $rnd = rand(0, 9999); 
     $img = $_POST['image']; 

     if($img != '/img/noimage.png' && $img != $model->image){ 
      $img = str_replace('data:image/jpeg;base64,', '', $img); 


      $img = str_replace(' ', '+', $img); 
      $data = base64_decode($img); 

      $file = Yii::app()->basePath . '/../themes/front/assets/img/photo/' . $rnd.'.jpg'; 

         file_put_contents($file, $data); 

     } 
    } 
} 

JS код: -

function doSomething(obj,res){ //the 'obj' is IMG tag, 'res' is base64image 

    $.ajax({ 
     cache: false, 
     type: 'post', 
     //url: <?php echo Yii::app()->createUrl('site/upload');?>, 
     url: baseUrl+"/admin/ajax/Upload", 
     data: 'image='+res, 
     success: function(){ 
      obj.attr('src',res); 
     } 
    }); 
} 

вид код: -

<?php   $this->widget('ext.NavaJcrop.ImageJcrop', array(
    'config' => array(
     'title'=>$model->image, 
     'image'=>$model->image,//required, all field below are not required. 
     'id'=>'nava-jcrop', 
     //'unique'=>true, 
     'buttons'=>array(
      'cancel'=>array(
       'name'=>'Cancel', 
       'class'=>'button-crop', 
       'style'=>'margin-left: 5px;', 
      ), 
      /*'edit'=>array(
       'name'=>'Edit', 
       'class'=>'button-crop', 
       'style'=>'margin-left: 5px;', 
      ),*/ 
      'crop'=>array(
       'name'=>'Crop', 
       'class'=>'button-crop', 
       'style'=>'margin-left: 5px;', 
      ) 
     ), 
     'options'=>array(
      'imageWidth'=>150, 
      'imageHeight'=>175, 
      'resultStyle'=>'position: fixed;top: 400px;max-width:350px;max-height:350px;z-index: 9999;', 
      'resultMaxWidth'=>350, 
      'resultMinWidth'=>350, 
     ), 
     'callBack'=> array(
      'success'=>"function(obj,res){doSomething(obj,res);}", 
      'error'=>"function(){alert('error');}", 
     ) 

    ) 
)); ?> 

Пожалуйста ч elp, чтобы решить эту проблему.

+0

привет, вы говорите, что можете загружать изображение, но попытались ли вы открыть этот файл прямо? кажется, нет, чтобы иметь соответствующее расширение ... – DiegoCoderPlus

ответ

0

Привет, я решил свой вопрос, это была ошибка в синтаксисе ниже.

в действии контроллера: - редактировать

$ IMG = str_replace ('данные: изображения/PNG; base64,', '', $ IMG);

$ file = Yii :: app() -> basePath. '/../themes/front/assets/img/photo/'. $ RND 'PNG..