大家好,感谢您的耐心,因为: 首先,这是我的第一个问题,所以让我知道我犯了什么错误。 第二,我是一个javascript / jquery noob。
我编写了一个javascript代码,用于检查图片上传并根据支票结果运行各种提醒。
脚本必须验证两种文件类型(图像和pdf)。但对于图像,它必须验证尺寸和尺寸。对于pdf,它必须仅验证大小。
类似于"如果是图像则检查宽度高度和尺寸" "如果不是图像,但它是pdf然后检查文件大小"和"如果不是图像,如果不是pdf则返回文件类型错误"
现在我想在上传时允许使用pdf并检查其大小,然后返回警告。
但我真的不知道如何区分不同的文件类型。
这是我的原始代码:
jQuery( document ).ready(function($) {
var _URL = window.URL || window.webkitURL;
var submits = document.getElementsByClassName('gform_button');
var submit = submits[0];
$(".customUpload input:file").click(function(e) {
this.value = "";
submit.disabled = false;
});
$(".customUpload input:file").change(function(e) {
var file, img;
var width, height, size, sizeInMB;
if ((file = this.files[0])) {
img = new Image();
img.onload = function() {
width = this.width;
height = this.height;
size = this.size;
sizeInMB = (size / (1024*1024)).toFixed(2);
if (sizeInMB > 20) {
alert("File is to big");
submit.disabled = true;
}
if (width < 300 || height < 300) {
alert("Image size is lower than 300px");
submit.disabled = true;
};
};
img.onerror = function() {
alert( "not a valid file: " + file.type);
submit.disabled = true;
};
img.src = _URL.createObjectURL(file);
}
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="customUpload">
<form action="" class="cart">
<input type="file" id="file" /> <!-- accept="image/gif, image/jpeg, image/png, image/tiff" -->
<button type="submit" id ="submit" name="submit" class="single_add_to_cart_button gform_button">SUBMIT</button>
</form>
</div>
&#13;
非常感谢所有人,祝你有个美好的一天。
答案 0 :(得分:0)
我添加了此代码以获取扩展名(带点)和大小
var fileExtension = file.name.substr(file.name.length - 4, 4);
var fileSize = file.size;
jQuery( document ).ready(function($) {
var _URL = window.URL || window.webkitURL;
var submits = document.getElementsByClassName('gform_button');
var submit = submits[0];
$(".customUpload input:file").click(function(e) {
this.value = "";
submit.disabled = false;
});
$(".customUpload input:file").change(function(e) {
var file, img;
var width, height, size, sizeInMB;
if ((file = this.files[0])) {
var fileExtension = file.name.substr(file.name.length - 4, 4);
var fileSize = file.size;
alert(fileExtension + " file with size of " + fileSize);
img = new Image();
img.onload = function() {
width = this.width;
height = this.height;
size = file.size;
sizeInMB = (size / (1024*1024)).toFixed(2);
if (sizeInMB > 20) {
alert("File is to big");
submit.disabled = true;
}
if (width < 300 || height < 300) {
alert("Image size is lower than 300px");
submit.disabled = true;
};
};
img.onerror = function() {
alert( "not a valid file: " + file.type);
submit.disabled = true;
};
img.src = _URL.createObjectURL(file);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="customUpload">
<form action="" class="cart">
<input type="file" id="file" /> <!-- accept="image/gif, image/jpeg, image/png, image/tiff" -->
<button type="submit" id ="submit" name="submit" class="single_add_to_cart_button gform_button">SUBMIT</button>
</form>
</div>