javascript - 用于图像和文件的文件输入
问题描述
需要帮助头脑风暴。我有一个网页,我在其中将文件提交到服务器上的文件夹。一切正常,但我不认为从手机拍摄的图像比屏幕截图或其他文件大得多。我找到了这篇文章,我可以在其中使用画布调整图像大小,并将其发送到服务器。这行得通。但是在某些情况下,人们可能会同时提交图像和文件,例如 pdf 或 docx。我目前发现输入 type="file" 中的所有图像调整它们的大小并将它们发送出去,所以所有非图像都没有被提交。
我已经尝试在不提交图像两次的情况下使用谷歌搜索如何执行此操作,因为文件列表仍然包含未更改的图像 + 文件。我想过制作两个单独的输入类型文件,一个用于图像,一个用于文件,但这对于使用它的人来说可能有点太多了。我只是想知道我怎么能做到这一点?任何想法或想法都会有所帮助。
解决方案
您可以先检查文件扩展名
$isImage = array('gif', 'png', 'jpg', 'jpeg');
$filename = $_FILES['file']['name'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if (in_array($ext, $isImage)) {
echo 'file is image';
// resize code
}else {
echo 'file is not an image';
}
推荐阅读
- c - 如何使用有限的字符串 scanf 和散列来解决缓冲区溢出问题?
- netlogo - Netlogo:[CODE] 直接要求你身后的补丁改变颜色
- regex - 带有连字符和点的 Bash 正则表达式
- jquery - 如何为“contenteditable”可编辑字段添加取消按钮?
- android - 将 Cordova 版本从 2.9 更新到 9.0
- python - 如何在 Python 中将两个字典相加以创建另一个具有整数分量的字典?
- fullcalendar - 自定义关于 v4.0.1 中的自定义视图
- r - 使用 tmap 绘制 sf 数据时出现“二进制运算符的非数字参数”错误
- python - DeprecationWarning、PendingDeprecationWarning 和 FutureWarning 之间的区别
- firebase - 优雅地处理通知响应 - React Native