我不知道这是否可行,但有没有办法在Javascript中解密JPG和PNG?我假设没有,但如果我能以不同的方式获得帮助,那就去做我想做的事。
如果图像是JPG或PNG,我需要设置图像。现在我正在为我构建的字符串添加一个扩展名,因为我只从代码中获取一个int。
我想知道我是否可以告诉它使用if / else语句添加扩展名。
像'.jpg'或'.png'这样的东西就是那里的东西不存在,可以使用其他东西。
if (JPG) {
img.attr('src', samplePath + 'pages/' + page + '.jpg');
}
else {
img.attr('src', samplePath + 'pages/' + page + '.png');
}
非常感谢任何帮助或指示
答案 0 :(得分:0)
通过检查XMLHttpRequest中的标头来扫描MIME类型。
MIME类型: http://en.wikipedia.org/wiki/Internet_media_type#Type_image
XHR / XMLHttpRequest的: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest
答案 1 :(得分:0)
首先,使用jQuery。
然后,假设你有这样的标记:
<img src="images/1x1.png" test-src="images/3" test-ext="jpg|png|gif" />
然后,您可以向图像添加一个onerror事件处理程序,如下所示:
jQuery(function ($) {
$('img[test-src][test-ext]').each(function () {
// closures
var $img = $(this);
var sSrc = $img.attr('test-src');
var sTestSrc = sSrc;
var aExtensions = $img.attr('test-ext').split('|');
var iTest = 0;
var fAttemptLoad = function () {
if (iTest < aExtensions.length) {
sTestSrc = sSrc + '.' + aExtensions[iTest];
$img.attr('src', sTestSrc);
}
};
// event method closures
var fFailTest = function () {
// increment test extension
iTest++;
// if there are still tests to run?
if (iTest < aExtensions.length) {
fAttemptLoad();
}
};
// event handler
$img.error(fFailTest);
// initial state, start test.
fAttemptLoad();
});
});
这是一个小提琴: