我有一个假设的问题。我目前在我的应用程序中使用 AngularJS ,我正在使用第三方模块 ng-file-upload 进行文件上传。现在显然我可以检查上传文件的文件扩展名并将其排除/防止它被发送到服务器,如果不合需要,例如我只希望允许上传图像并且用户上传word文档。不过我在想。恶意用户是否应该更改文件" nastyfile.exe
"到" nastyfile.gif
"恶意文件将使用File.type
属性通过我的检查/验证,因为File.type
将是image/gif
。据我所知,前端无法检查是否使用JavaScript修改了原始文件扩展名。是这种情况还是有办法确定这个?
提前致谢。
答案 0 :(得分:0)
尝试创建图像。
然后听error & load event
如果load
触发,它就是图像,否则如果error
触发它不是图像;)
var img = new Image();
img.onerror = function() { /* not an image */ }
img.onload = function() { /* it is an image */ }
img.src = 'PATH/FILENAME';