如何在magento中进行图像类型验证。

时间:2015-09-15 09:17:56

标签: javascript php jquery ajax magento

我是magento的新手。我只想在magento中进行图像验证,但我正在苦苦挣扎。我使用了ajax验证,但jquery中的append()函数不支持magento,所以我不知道该怎么做。

我的ajax代码:

           jQuery(function () { 
    var url =  jQuery('#image_url').val();
    var vendorImage = jQuery('#vendor_logo');
     vendorImage.on("change", function () {
        var fd = new FormData();
        var file = jQuery('#vendor_logo')[0].files[0];
        if (file) {   
            fd.append('vendor_logo', file);

        }
        jQuery.ajax({
            url: url,
            type: 'POST',
            cache: false,
            data: fd,
            success: function (result) { 
                alert(0);
                alert(result);
                jQuery("#output").html("Upload success.");
            }
        });

    });
});

我收到了append()函数的错误。

我认为如果我在validation.js文件中使用添加规则会更好 我的代码在这里:

        Validation.add('validate-imgtype', 'Please choos valid image', function(v) {
        var Image = jQuery(v).val();
        var extension = Image.split('.').pop().toUpperCase();
        if (extension!="PNG" && extension!="JPG" && extension!="GIF" && extension!="JPEG"){
            return extension;
        }
       });

但是上面添加的规则代码也无效。

任何人都可以帮我解决这个问题吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果您要求使用magento进行图像验证,可以尝试

if($this->getRequest()->isPost())
  {
    if(isset($_FILES['myfileupload']['name']) and (file_exists($_FILES['myfileupload']['tmp_name'])))
    {
      $path = Mage::getBaseDir() . '/myfileupload';
      if(!file_exists($path))
      { mkdir($path, 777, true); }

      try {
      $myfileupload = $_FILES['myfileupload']['name'];
      $uploader = new Varien_File_Uploader('myfileupload');
      $uploader->setAllowedExtensions(array('png', 'gif', 'jpeg', 'jpg', 'pdf'));
      $uploader->setAllowCreateFolders(true);
      $uploader->setAllowRenameFiles(false);
      $uploader->setFilesDispersion(false);
      $uploader->save($path, $myfileupload);
      } catch (Exception $e) {
        echo 'Error';
      }
    }
  }