程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP ImageMagick 返回错误的内容类型大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决php ImageMagick 返回错误的内容类型?

开发过程中遇到php ImageMagick 返回错误的内容类型的问题如何解决?下面主要结合日常开发的经验,给出你关于php ImageMagick 返回错误的内容类型的解决方法建议,希望对你解决php ImageMagick 返回错误的内容类型有所启发或帮助;

我有一个 image generator,它允许我使用 Imagick::setImageType 即时生成不同的文件格式(如 JPEG、PNG 等)。这在我的旧笔记本电脑上@H_607_5@和在生产服务器上很有效,但在我开始使用的较新笔记本电脑上,Imagick::getImageMimeType 似乎不知道常见图像格式的正确 MIME 类型是什么是,并为 PNG 返回 image/x-png,为 GIF 返回 image/x-gif 等。

令我好奇的是,生成的图像内容(通过回显 Imagick::getImageBlob)看起来很好,这意味着 @H_607_5@ImageMagick 本身工作正常。唯一的问题是它发送这些不正确的内容类型标头,这会导致网络浏览器下载图像,而不是显示它(image/x-png 的情况除外,该浏览器碰巧将其识别为旧版 MIME 类型)。

我能想到的另一台笔记本电脑的唯一区别是这台笔记本电脑使用的是较新的软件(windows 10 上的 php 7.4 与 windows 7 上的 php 7.2),但我看不出这与@H_607_5@ImageMagick 中从图像类型到内容类型的映射。

坦率地说,我不知道从哪里开始寻找(在这种情况下,谷歌搜索对我没有多大帮助),我想知道是否有人可以为我指明正确的方向。

就其价值而言,这是 phpinfo() 在其表现怪异的环境中的相关部分:

imagick 模块 启用
imagick 模块版本 3.4.4
imagick 类 Imagick、ImagickDraw、ImagickPixel、ImagickPixeliterator、ImagickKernel
Imagick 用 ImageMagick 版本编译 ImageMagick 7.0.7-11 Q16 x64 2017-11-23 http://www.imagemagick.org
Imagick 使用 ImageMagick 库版本 ImageMagick 7.0.7-11 Q16 x64 2017-11-23 http://www.imagemagick.org
ImageMagick 版权 版权 (C) 1999-2015 ImageMagick studio LLC
ImageMagick 发布日期 2017-11-23
ImageMagick 支持的格式数量: 238
ImageMagick 支持的格式 3FR、3G2、3GP、AAI、AI、ART、ARW、AVI、AVS、BGR、BGRA、BGRO、BIE、BMP、BMP2、BMP3、BRF、CAL、CALS、CANVAS、CAPTION、CIN、CIP、CliP,剪贴板,CMYK,CMYKA,CR2,CRW,CUR,CUT,DCM,DCR,DCX,DDS,DFont,DJVU,DNG,DOT,DPS,DPX,DXT1,DXT5,EMF,Epdf,EPI,EPS,EPS2,Eps3,EPSF,EPSI,EPT,EPT2,EPT3,ERF,EXR,FAX,file,FITS,FliF,FPX,FRACTAL,FTP,FTS,G3,G4,GIF,GIF87,GRADIENT,GRAY,GROUP4,GV,HALD,HDR,直方图,HRZ,htm,HTML,http,httpS,ICB,ICO,ICON,IIQ,INFO,INliNE,IPL,ISOBRL,ISOBRL6,J2C,J2K,JBG,JBIG,JNG,JNX,JP2,JPC,JPE,JPEG,JPG,JPM,JPS,JPT,JsON,K25,KDC,LABEL,M2V,M4V,MAC,MAP,MASK,MAT,MATTE,MEF,MIFF,MKV,mng,MONO,MOV,MP4,MPC,MPEG,MPG,MRW,MSL,MSVG,MTV,MVG,NEF,NRW,NulL,ORF,OTB,OTF,PAL,PALM,PAM,PANGO,PATTERN,PBM,PCD,PCDS,PCL,PCT,PCX,PDB,pdf,pdfA,PEF,PES,PFA,PFB,PFM,pgm,PICON,PICT,PIX,PJPEG,plasma,PNG,PNG00,PNG24,PNG32,PNG48,PNG64,PNG8,PNM,PPM,PS,PS2,ps3,PSB,PSD,PTIF,PWP,RADI AL-GRADIENT,RAF,RAS,RAW,RGB,RGBA,RGBO,RGF,RLA,RLE,RMF,RW2,SCR,SCREENSHOT,SCT,SFW,sgi,SHTML,SIX,SIXEL,SPARSE-color,SR2,SRF,STEGANO、SUN、SVG、SVGZ、文本、TGA、缩略图、TIFF、TIFF64、TILE、TIM、TTC、TTF、TXT、UBRL、UBRL6、UIL、UYVY、VDA、VICAR、VID、VIFF、VIPS、VST、WBMP、 WEBP、WMF、WMV、WPG、X3F、XBM、XC、XCF、XPM、XPS、XV、ycbcr、ycbcrA、YUV

解决方法

在尝试了一些随机的东西后,我发现了一些在这种情况下非常有效的东西。我安装了普通的旧 ImageMagick Windows installer,并@H_607_5@删除所有在线教程谈论的所有 DLL mumbo-jumbo(除了 php_imagick.dll 中的 php/ext,当然)。

所以我的设置比以前简单了很多,而且效果更好。

大佬总结

以上是大佬教程为你收集整理的PHP ImageMagick 返回错误的内容类型全部内容,希望文章能够帮你解决PHP ImageMagick 返回错误的内容类型所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: