我正在使用cropit.Js,它返回base64,我想使用php 验证服务器端的大小和扩展名。任何帮助都会很棒。谢谢!
最佳答案
我调查了一些你的图书馆。在我看来,为了获得裁剪后的图像,您应该调用“导出”方法,如下所示:
var imageData = $('#image-cropper').cropit('export');
// then send imageData to server
您从中得到的应该是裁剪图像的数据 URI,通过 Canvas 的 toDataURL 方法获得。 This should be a PNG image已经(所以你不需要验证任何扩展)。如果对其进行解码,您应该能够确定其大小(减去数据方案)。
您可以从编码字符串中获取实际图像,如下所示:Decoding a canvas todataURL (请参阅已接受答案中的第一条评论)。
如果您只需要图像的大小,则 strlen 就足够了(strlen = 字节):
$imageSizeInBytes = strlen(base64_decode($encodedImage)) - 22;
(或者您甚至可以 get fancier ,以避免对其进行解码)。
关于javascript - 如何在PHP中通过base64验证大小和图像扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40028506/