jQuery-文件上传插件

时间:2018-08-20 08:19:00

标签: javascript jquery file-upload

我想将tiff文件上传到我的网络服务器。我已经修改了插件以接受这些文件。问题是缩略图无法创建。

我不确定此插件能否为tiff文件制作缩略图。我已经阅读了官方指南,但看不到允许的文件。

https://github.com/blueimp/jQuery-File-Upload/wiki

我修改了插件的文件,UploadHandler.php是执行不同操作(例如创建缩略图)的文件。

在此文件中,条件有所不同,并且tiff文件没有出现,例如在fix_file_extension中:

protected function fix_file_extension($file_path, $name, $size, $type, $error,
            $index, $content_range) {
        // Add missing file extension for known image types:
        if (strpos($name, '.') === false &&
                preg_match('/^image\/(gif|jpe?g|png)/', $type, $matches)) {
            $name .= '.'.$matches[1];
        }
        if ($this->options['correct_image_extensions'] &&
                function_exists('exif_imagetype')) {
            switch (@exif_imagetype($file_path)){
                case IMAGETYPE_JPEG:
                    $extensions = array('jpg', 'jpeg');
                    break;
                case IMAGETYPE_PNG:
                    $extensions = array('png');
                    break;
                case IMAGETYPE_GIF:
                    $extensions = array('gif');
                    break;
            }
            // Adjust incorrect image file extensions:
            if (!empty($extensions)) {
                $parts = explode('.', $name);
                $extIndex = count($parts) - 1;
                $ext = strtolower(@$parts[$extIndex]);
                if (!in_array($ext, $extensions)) {
                    $parts[$extIndex] = $extensions[0];
                    $name = implode('.', $parts);
                }
            }
        }
        return $name;
    }

或在创建缩略图中:

protected function gd_create_scaled_image($file_name, $version, $options) {
        if (!function_exists('imagecreatetruecolor')) {
            error_log('Function not found: imagecreatetruecolor');
            return false;
        }
        list($file_path, $new_file_path) =
            $this->get_scaled_image_file_paths($file_name, $version);
        $type = strtolower(substr(strrchr($file_name, '.'), 1));
        switch ($type) {
            case 'jpg':
            case 'jpeg':
                $src_func = 'imagecreatefromjpeg';
                $write_func = 'imagejpeg';
                $image_quality = isset($options['jpeg_quality']) ?
                    $options['jpeg_quality'] : 75;
                break;
            case 'gif':
                $src_func = 'imagecreatefromgif';
                $write_func = 'imagegif';
                $image_quality = null;
                break;
            case 'png':
                $src_func = 'imagecreatefrompng';
                $write_func = 'imagepng';
                $image_quality = isset($options['png_quality']) ?
                    $options['png_quality'] : 9;
                break;
            default:
                return false;
        }

所以现在我不知道如何处理它,我不确定它是否能够在tiff文件的低位创建图像?

如果不是,是否应该使用第三方库ImageMagic创建tiff jpeg?正是在代码中您应该在其中创建jpg的地方?

更新:

我已经安装了imagemagick库Debian Steps:

apt-get update
apt-get install php-imagick

然后,该插件不显示错误消息,但浏览器不显示tiff文件。

我的想法是上传tiff文件并创建jpg文件作为这些tiff文件的缩略图,并使用这些jpg在浏览器中显示。问题是我不知道使用此插件在jpg文件中创建所有tiff文件的缩略图:(

谢谢!

0 个答案:

没有答案