javascript - Jquery - 文件上传插件
问题描述
我想将 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 步骤:
apt-get update
apt-get install php-imagick
然后插件不显示错误消息,但浏览器不显示 tiff 文件。
我的想法是上传 tiff 文件并创建 jpg 文件作为这些 tiff 文件的缩略图,并使用这些 jpg 在浏览器中显示。问题是我不知道使用这个插件在 jpg 文件中创建所有 tiff 文件的缩略图:(
谢谢!
解决方案
推荐阅读
- python - 如何在 python 中访问 SURF 的 KeyPoints 的特征尺度和主导方向?
- android - 使用 JSON 数据 wrt Id 更新 recyclerView
- excel - 从 Excel 读取时获取空数据
- android - 如何在主活动中创建一个接口并通过该接口将数据从适配器传递到主活动?
- angular - 使用角度 4 根据先前的选择自动填充下拉列表
- python - 为什么 type(x) 和 print(type(x) 在 python 中显示的结果略有不同?
- java - 持续检查网络连接状态
- c++ - cocos2d-x]在box2d中,没有正确地用顶点制作多边形
- android - 如何用 c++_static 重建 OpenCv?
- ruby-on-rails - 使用没有 src 属性的 image_tag 助手?