繁体   English   中英

如何检查是否上传了某种图像格式

[英]how to check if certain image format is uploaded

我有一些代码来检查正在上传的文件格式类型。 我只想允许 tiff 或 jpeg 文件,所以如果任何其他文件正在尝试上传然后显示警报消息

 $(document).ready(function () {
      $("#fuUpload").change(function () {
           var fileExtension = ['jpeg', 'tiff'];
           if ($.inArray($(this).val().split('.').pop().toLowerCase(), fileExtension) == -1) {
                alert("Only formats allowed are: " + fileExtension.join(', '));
           }
      });
 });

问题是在这段代码中,即使上传了正确的文件,它也会显示警报。 如果文件不是 tiff 或 jpeg,我只希望显示警报。

将您的 if 条件更改为:

if(!(fileExtension.indexOf($(this).val().split('.').pop().toLowerCase()) > -1))

或者

if(!($.inArray($(this).val().split('.').pop().toLowerCase(),fileExtension) >-1))

演示一

 var fileExtension = ['jpeg', 'tiff']; function MyFunc(e){ if(!(fileExtension.indexOf(e.split('.').pop().toLowerCase()) > -1)){ alert('Format Not Accepted'); }else{ alert("This Format Is Okay!"); } }
 <button value="image.tiff" onclick="MyFunc(this.value);">Image.tiff</button> <button value="image.gif" onclick="MyFunc(this.value);">Image.<b>gif</b></button> <button value="image.jpeg" onclick="MyFunc(this.value);">Image.jpeg</button>

演示二

 var fileExtension = ['jpeg', 'tiff']; function MyFunc(e){ if(!($.inArray(e.split('.').pop().toLowerCase(),fileExtension) >-1)){ alert("Only formats allowed are: " + fileExtension.join(', ')); } }
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <button value="image.tiff" onclick="MyFunc(this.value);">Image.tiff</button> <button value="image.gif" onclick="MyFunc(this.value);">Image.<b>gif</b></button> <button value="image.jpeg" onclick="MyFunc(this.value);">Image.jpeg</button>

如果您对上面的源代码有任何疑问,请在下面发表评论。

我希望这有帮助。 快乐编码!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM