2016-05-13 6 views
0

blueimp fileuploader является greate, но мне интересно, возможно ли изменить имя большого пальца? Я хочу, чтобы он отличался от исходного имени файла. Есть ли такой вариант?Blueimp изменить имя файла большого пальца

$options = array(
    'thumbnail' => array( 
    'upload_dir' => '../thumb/', 
    'upload_url' => 'thumb/', 
    'thumbnail_name' => $thumbName 
); 
$upload_handler = new UploadHandler($options); 

ответ

1

У меня была такая же проблема и я искал ответ. Я решил это сейчас. Вам просто нужно расширить класс UploadHandler() в вашем index.php и отредактировать желаемый метод. Необходимый метод называется get_scaled_image_file_paths(). Там вы можете изменить путь и имя файла внутри if-состояния. Вот пример того, как ваш index.php может выглядеть следующим образом:

require('UploadHandler.php'); 

class CustomUploadHandler extends UploadHandler { 
    protected function get_scaled_image_file_paths($file_name, $version) { 
     $file_path = $this->get_upload_path($file_name); 
     if (!empty($version)) { 
      $version_dir = $this->get_upload_path(null, $version); 
      if (!is_dir($version_dir)) { 
       mkdir($version_dir, $this->options['mkdir_mode'], true); 
      } 

      switch (strtolower(pathinfo($file_path, PATHINFO_EXTENSION))) { 
       case 'jpeg': 
       case 'jpg': 
        $file_type = 'jpg'; 
        break; 
       case 'png': 
        $file_type = 'png'; 
        break; 
       case 'gif': 
        $file_type = 'gif'; 
        break; 
      } 
      $file_name = 'custom_prefix_'.$version.'.'.$file_type; 

      $new_file_path = $version_dir.'/'.$file_name; 
     } else { 
      $new_file_path = $file_path; 
     } 
     return array($file_path, $new_file_path); 
    } 
} 

$options = array(
    'image_versions' => array(
     '' => array(
      // Automatically rotate images based on EXIF meta data: 
      'auto_orient' => true 
     ), 
     '100' => array(
      'upload_dir' => $_SERVER['DOCUMENT_ROOT'].'/uploads/thumbs/', 
      'upload_url' => 'http://my.url/uploads/thumbs/', 
      'max_width' => 100, 
      'max_height' => 100 
     ), 
     '500' => array(
      'upload_dir' => $_SERVER['DOCUMENT_ROOT'].'/uploads/thumbs/', 
      'upload_url' => 'http://my.url/uploads/thumbs/', 
      'max_width' => 500, 
      'max_height' => 500 
     ), 
    ) 
); 

$upload_handler = new CustomUploadHandler($options); 

Если вы хотите использовать $ опционального массива есть сборки в методе

$options = $this->options; 

Я надеюсь, что это помогает :)

+0

О, добрый человек, спасибо большое! –

Смежные вопросы