带有dropzone js的Yii框架

nqwrtyyt  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(117)

我有一个添加图片上传功能的产品页面。这个片段在我的视图文件中。

<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) {

                }
            });
        }
    });

在我的ProductController中,我有以下函数:-

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

然而,在点击提交后,dropzone js上没有任何错误。页面只是像往常一样被重定向,就好像它根本没有通过“actionUploadProductImage”一样。
有人能帮忙吗?谢谢

uz75evzq

uz75evzq1#

图像文件是从**$_FILES**获取的,但您使用的是$_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

    }
}

相关问题