我想将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文件的缩略图:(
谢谢!