如何做图像类型验证在magento

How to do Image type validation in magento.?

本文关键字:magento 验证 类型 何做 图像      更新时间:2023-09-26

我是新手。我只是想在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()函数出错

我想如果我在validate .js文件中使用add规则会更好我的代码:

        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;
        }
       });

但是上面的添加规则代码也不起作用

谁能帮我解决这个问题?

如果您要求在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';
      }
    }
  }