2017-12-13 11 views
0

私は画像アップロード機能付きの製品ページを追加しました。 このスニペットは私のビューファイルにあります。私ProductControllerでDropzone jsを使用したYiiフレーム

<div class="well"> 
       <?php if ($modelProductitem->imagepath != '') { ?> 
       <div class="row oc-img-exist"> 
        <div class="col-xs-6 col-md-4 oc-thumbs col-xs-offset-4" data-product-id="<?php echo $modelProductitem->productid; ?>"> 
         <a href="#4" class="oc-remove-icon"><i class="fa fa-close text-danger"></i></a> 
         <a href="#4" class="thumbnail"> 
          <img src="<?php echo Octopus::getImagePathProductsWeb().'/'.$productId.'/'.$modelProductitem->imagepath; ?>" title="<?php echo $modelProductitem->imagepath; ?>"> 
         </a> 
        </div> 
       </div> 
       <?php } ?> 
       <div class="col-md-12 drop-file dropzone oc-dropzone-previews dropzone-responsive"> 
        x 
       </div> 
      <div class="clearfix"></div> 

      </div> 
私のJSで

productDropzone = new Dropzone ('#frm-add-product', { 

     url: '<?php echo Yii::app()->getBaseUrl (true); ?>/product/uploadProductImage', 
     acceptedFiles: '.png, .PNG, .jpeg, .JPEG, .jpg, .JPG', 
     autoProcessQueue: false, 
     addRemoveLinks: true, 
     uploadMultiple: true, 
     previewsContainer: '.oc-dropzone-previews', 
     clickable: '.drop-file', 

     init: function() { 
      this.on ('complete', function (file) { 
       if (productDropzone.getUploadingFiles().length === 0 && productDropzone.getQueuedFiles().length === 0) { 

       } 
      }); 
     } 
    }); 

、私はこの機能があります: - ドロップゾーンJSのエラーがありません提出しかし上のクリックした後、

public function actionUploadProductImage() { 
     echo "test"; print_r($_POST); 
die(); 
    } 

を。ページは「actionUploadProductImage」をまったく通過しなかったかのように、通常通りリダイレクトされます。

誰でも手助けできますか?ありがとうございます

答えて

0
The image files are getting from $_FILES but you are using $_POST 

public function actionUploadProductImage() { 
$ds   = DIRECTORY_SEPARATOR; //1 

$storeFolder = 'uploads'; //2 

if (!empty($_FILES)) { 

    $tempFile = $_FILES['file']['tmp_name'];   //3    

    $targetPath = dirname(__FILE__) . $ds. $storeFolder . $ds; //4 

    $targetFile = $targetPath. $_FILES['file']['name']; //5 

    move_uploaded_file($tempFile,$targetFile); //6 

} 
} 
+0

ありがとうございます。なんて愚かな間違い?ちなみに、関数内でfalseを返すと、それがdropzoneの戻り値にエラーとして返されるべきではありませんか? – Sylph

関連する問題