我用这个修改允许PDF文件上传到Magento的 https://magento.stackexchange.com/a/155950/40025后Magento的1.9 SUPEE-9767允许PDF上传不工作 - 无效的MIME类型
应用SUPEE-9767上传不工作后,得到了消息“无效Mime类型“
如何允许在SUPEE-9767补丁后上传PDF?
我用这个修改允许PDF文件上传到Magento的 https://magento.stackexchange.com/a/155950/40025后Magento的1.9 SUPEE-9767允许PDF上传不工作 - 无效的MIME类型
应用SUPEE-9767上传不工作后,得到了消息“无效Mime类型“
如何允许在SUPEE-9767补丁后上传PDF?
有一个新的验证添加到uplaodeFile函数(app/code/core/Mage/Cms/Model/Wysiwyg/Images/Storage.php),即使将<pdf>1</pdf>
添加到CMS浏览器后也不允许PDF上传扩展节点。
这里是新的验证
$uploader->addValidateCallback(
Mage_Core_Model_File_Validator_Image::NAME,
Mage::getModel('core/file_validator_image'),
'validate'
);
的文件类型此附加验证检查类
Mage_Core_Model_File_Validator_Image
下面定义的是,可以通过所见即所得的插上传允许的图像类型的列表图像操作。
IMAGETYPE_JPEG,IMAGETYPE_GIF, IMAGETYPE_JPEG2000, IMAGETYPE_PNG, IMAGETYPE_ICO, IMAGETYPE_TIFF_II, IMAGETYPE_TIFF_MM
所以,基本上为了让PDF上传
新的SUPEE-9767验证的问题在于,无论是否插入链接,媒体或图像,它似乎都应用了图像验证。 例如,你现在还如果您尝试并上传使用“插入/编辑嵌入媒体”所见即所得按钮.mov文件,因为它经过相同的验证击中“MIME类型无效”错误。 理想的修复大概是只有通过新的验证推上传,如果一个上传图片? –
继Rakesh的答案,你可能会延长\程序\代码的validate()函数\本地\法师\核心\型号\从
imagedestroy($img);
imagedestroy($image);
return null;
} else {
throw Mage::exception('Mage_Core', Mage::helper('core')->__('Invalid image.'));
}
}
}
到
文件\验证\ Image.php imagedestroy($img);
imagedestroy($image);
return null;
} else {
throw Mage::exception('Mage_Core', Mage::helper('core')->__('Invalid image.'));
}
}
} else {
if (mime_content_type($filePath)=='application/pdf') {
$fileType = IMAGETYPE_PNG;
return null;
}
throw Mage::exception('Mage_Core', Mage::helper('core')->__('Invalid MIME type.').' '.mime_content_type($filePath));
}
在Magento CE 1.9.2.4中测试。在德国的扩展答案你可以找到here。
我创建了一个模块来帮助解决问题。希望它能帮助那些遇到同样问题的人。
Ash_PdfUploadAfterSupee9767 on Github
覆盖:
Mage_Core_Model_File_Validator_Image
(跳过验证如果mime类型是application/pdf
)Mage_Cms_Model_Wysiwyg_Images_Storage
(跳过调整大小如果mime类型是application/pdf
)pdf
到的阵列allowed
和image_allowed
从第ËMage_Cms/etc/config.xml
完美的作品,谢谢! –
根据贴片分析这里介绍[链接](https://magento.stackexchange.com/questions/176871/security-patch-supee-9767-possible-issues)的补丁修改上传工具。所以读一下,你可能会得到一些线索。 –