Abh*_*uke 2 validation extjs file-upload extjs4
我想在ExtJs4的文件字段中添加验证,这样用户只能浏览.png,.jpeg图像文件.我该怎么做?
{
xtype: 'filefield',
id:'photoUpload',
buttonOnly:true,
buttonText: 'Photo'
}
Run Code Online (Sandbox Code Playgroud)
我认为理解文件上传的工作原理很重要,这样可以防止将来遇到麻烦......
出于安全原因,以下内容适用:
上传过程本身在以下步骤中发生:
OK点击后,浏览器将文件发送到服务器.temp目录(每台服务器配置).最后一步是您可以完全访问文件详细信息的唯一点,包括实际的实际名称,大小和内容.
浏览器提供javascript的任何东西都是浏览器所依赖的.即使文件名在浏览器之间也会有所不同,尽管我所知道的所有浏览器都保留了实际的文件名(但不是实际的实际路径),您不能依赖它来使用未来的版本.这样做的原因是该文件的名称被显示在客户端.
所以建议如下:
在服务器端执行所有文件上载检查.
同样,您可以在JS客户端获取文件名,特别是如果您知道并且可以测试客户端将使用哪些浏览器,但我强烈建议您在服务器上进行此测试.
你要记住的最后一件事是用户可能上传一个以文件结尾.png的文件,但文件本身是一个.zip更改了扩展名的文件 - 所以要真正确认文件.png是否需要实际查看文件数据,只有服务器可以做.
{
xtype: 'filefield',
id:'photoUpload',
buttonOnly:true,
vtype:'fileUpload',
buttonText: 'Photo'
}
Run Code Online (Sandbox Code Playgroud)
和我使用的Vtype ..
Ext.apply(Ext.form.VTypes, {
fileUpload: function(val, field) {
var fileName = /^.*\.(gif|png|bmp|jpg|jpeg)$/i;
return fileName.test(val);
},
fileUploadText: 'Image must be in .gif,.png,.bmp,.jpg,.jpeg format'
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4823 次 |
| 最近记录: |