javascript - 如何在PHP中通过base64验证大小和图像扩展名?

标签 javascript php image

我正在使用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/

相关文章:

php - 如何通过 Eloquent 查询原始数据?

c++ - QWebview:关闭在QWebview qt加载图片

Java定时器和绘图动画

javascript - 从下拉列表中选择多个值

javascript - getBoundingClientRect().width 和 height 是否包括元素的填充和边框?

javascript - KnockoutJS 不显示选择

php - 文本搜索 - 突出显示搜索短语

javascript - 如何下载由 AngularJs $http get 触发的 php readfile() 发送的文件

php - WordPress:用 span 包裹 li 内容

html - Accordion 背景图像的大小