我正在寻找示例代码,该代码将展示如何在Html.Telerik().Upload()
函数上设置验证,以便用户只能上传.jpg
个文件。我只想支持.jpg
个文件。
有没有人有我可以使用的好例子或网站?
答案 0 :(得分:0)
不幸的是,由于浏览器实现<input type="file" />
的方式,使用 Html.Telerik()。Upload()无法过滤扩展程序。
但是,有一种替代方法可以使用html和javascript:
HTML
<input name="fileToUpload" type="file" onchange="check_file()" >
javascript
function check_file(){
str=document.getElementById('fileToUpload').value.toUpperCase();
suffix=".JPG";
suffix2=".JPEG";
if(!(str.indexOf(suffix, str.length - suffix.length) !== -1||
str.indexOf(suffix2, str.length - suffix2.length) !== -1)){
alert('File type not allowed,\nAllowed file: *.jpg,*.jpeg');
document.getElementById('fileToUpload').value='';
}
}
答案 1 :(得分:0)
请参阅以下代码。此代码仅接受jpeg / jpg,png格式图像。图像大小也限制在100KB。
@(Html.Telerik().Upload()
.Name("EmployeeImageUpload")
.Multiple(false)
.Async(async => async
.Save("SaveEmployeeImage", "Employee")
.AutoUpload(false)
)
.ClientEvents(events => events
.OnLoad("onLoad")
.OnSelect("onSelect")
.OnSuccess("onSuccess")
)
)
<script type="text/javascript">
function onLoad(e) {
$(this).find("input").attr("accept", "image\/jpeg,image\/jpg,image\/png");
}
function onSelect(e) {
if (e.files[0].size > 102400) {
alert('Image Size Should Be <= 100KB');
e.preventDefault();
return false;
}
var ext =e.files[0].extension.toLowerCase();
if ($.inArray(ext, ['.jpeg', '.jpg', '.png']) == -1) {
alert('Only Supported Extension are jpeg/jpg, png');
e.preventDefault();
return false;
}
return true;
}
</script>