我正在使用Django进行一些Web开发。用户可以在其中上传图片到我的服务器。
这是代码的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;
}
}
它没有用。文件上传后,什么也没有发生。但是,如果我删除验证部分:
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;
}
}
它又开始工作了。
与其他Web开发平台不同,Django不支持javascript调试,因此我无法在其上放置打印语句。
答案 0 :(得分:0)
好像我拼写的“文件”不正确。
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;
}
}
干杯!