Javascript将文件分类为图像
Javascript to classify files as images
我在javascript中有一个url,设置为变量。如:
var imageurl='example.com/test/real/image.jpg';
我正在尝试识别这是否是一个图像url(以jpeg, jpg, gif, png等结尾)。
我尝试使用charAt,但它不工作。
什么是最好的方式来返回1,如果它是一个图像url和0,否则使用javascript?
我正在尝试识别这是否是一个图像url(以jpeg, jpg, gif, png等结尾)。
文件扩展名(如果有的话)与URL是否指向图像类型的资源无关。这只是一些人对静态资源使用的一种约定。
查看文件扩展名就足够了,如果你只需要它作为一个一般的启发式:
// User browser's built-in URL parsing to discard query string etc
//
var a= document.createElement('a');
a.href= url;
var ext= a.pathname.split('.').pop().toLowerCase();
var mightbeimage= ext=='gif' || ext=='jpeg' || ext=='jpg' || ext=='png';
,但为了准确性,找出URL是否指向图像的唯一方法是获取该URL并查看返回的内容。通常,您可以通过向URL发出HEAD请求并查看响应中的头是否包含Content-Type: image/something
。
你不能直接从浏览器的JavaScript中做到这一点,但你可以做的是创建一个image元素,看看是否加载OK:
function checkImage(url, callback) {
var img= new Image();
img.onload= function() { callback(true); }
img.onerror= function() { callback(false); }
img.src= url;
}
checkImage('http://www.google.co.uk/images/srpr/logo3w.png', function(isimage) {
if (isimage)
alert('Yes, it is an image');
else
alert('Nope, not an image, or does not exist or other error');
});
给你:
var imageurl = 'example.com/test/real/image.jpg';
ext = imageurl.split('.').reverse()[0];
if (['jpg','gif','png'].indexOf(ext.toLowerCase()) > -1) {
console.log('true!');
} else {
console.log('false!');
}
如果您只是在寻找一种从字符串中找出内容的方法,请尝试使用以下方法:
var imageurl = "some.gif";
imageurl.match("(?:png|jpe?g|gif)$");
// returns ['gif']
这不是一个特别完整或优雅的解决方案,但它可以工作。
使用lastIndexOf
和substring
来获得文件扩展名,并将其与您感兴趣的不同图像类型进行比较。
try:
var fileName = "'example.com/test/real/image.jpg'";
alert(fileName.substring(fileName.lastIndexOf('.') + 1));
得到文件扩展名。按条件操作它。
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 角度:在ng重复上切换图像
- 画廊图像未显示
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- Javascript排序的图像弹出窗口..可以't单独弹出
- 画布数据到图像
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 使图像在单击时展开到不大于浏览器
- Html页面上的多个Base64图像和平滑加载
- UIAutomation放大图像
- 使用javascript在Flash中加载外部图像
- 可以在这里为背景图像设置滤镜吗
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 使用 js 将背景图像设置为 HTML
- Javascript将图像src更改为淡入淡出
- Javascript将文件分类为图像
- 同位素过滤器-防止“选定”;从加载所有图像分类
- jQuery表分类器-图像