[英]Javascript for validating if uploaded file is image isn't working
I'm doing some web development using Django. 我正在使用Django进行一些Web开发。 There comes a part where user could upload images to my server.
用户可以在其中上传图片到我的服务器。
Here is the Javascript side of the code. 这是代码的Javascript方面。
var uploadField = document.getElementById("file_upload");
uploadField.onchange = function(){
var file_type=this.file[0]['type']; // file_type = 'image/jpg'
if (file_type.split('/')[0] !== 'image'){
alert("Not an Image");
this.value = "";
}
else if(this.files[0].size > 2097152){
alert("File is too big!");
this.value = "";
}
else{
this.form.submit();
document.getElementById('celimsg').innerHTML='Analyzing image...';
document.getElementById('celi').src=gif_url;
}
}
It didn't work. 没用 When the files are uploaded, nothing happens.
文件上传后,什么也没有发生。 But if I remove the validation part:
但是,如果我删除验证部分:
var uploadField = document.getElementById("file_upload");
uploadField.onchange = function(){
if(this.files[0].size > 2097152){
alert("File is too big!");
this.value = "";
}
else{
this.form.submit();
document.getElementById('celimsg').innerHTML='Analyzing image...';
document.getElementById('celi').src=gif_url;
}
}
It started working again. 它再次开始工作。
Unlike other web development platform, Django doesn't support debugging for javascript and I can't put print statements on it etiher. 与其他Web开发平台不同,Django不支持javascript调试,因此我无法在其上放置打印语句。
Looks like I spelled 'files' incorrectly. 看起来我拼写的“文件”不正确。
var uploadField = document.getElementById("file_upload");
uploadField.onchange = function(){
var file_type=this.files[0]['type'];
if (file_type.split('/')[0] !== 'image'){
alert("Not an Image");
this.value = "";
}
else if(this.files[0].size > 2097152){
alert("File is too big! Keep it under 2MB.");
this.value = "";
}
else{
this.form.submit();
document.getElementById('celimsg').innerHTML='Analyzing image...';
document.getElementById('celi').src=gif_url;
}
}
Cheers! 干杯!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.