相关疑难解决方法(0)

如何识别byte []的内容是jpeg?

我有一个小字节数组(25K以下),我收​​到并解码为更大的消息信封的一部分.有时这是一个图像,当它是图像时,有时它是一个jpg.我没有字节数组以外的上下文信息,并且需要识别它是否是图像,以及图像是否为jpg类型.

是否有一些神奇的数字或魔术字节存在于开头,结尾或某些偏移处,我可以看一下来识别它?

我的代码示例如下(来自内存,而不是c/p):

byte[] messageBytesAfterDecode = retrieveBytesFromEnvelope();
if(null != messageBytesAfterDecode && messageBytesAfterDecode > 0){
    if(areTheseBytesAJpeg(messageBytesAfterDecode)){
        doSomethingWithAJpeg(messageBytesAfterDecode)
    }else{
        flagEnvelopeAsHavingBadContentInTheField();
    }
}
Run Code Online (Sandbox Code Playgroud)

我真的需要做什么

areTheseBytesAJpeg(byte[] mBytes){}
Run Code Online (Sandbox Code Playgroud)

方法,甚至指向详细说明的规范的指针.我希望有一个非常快速的方法来做出这个决定,因为我真的不想把它们读成图像等.

java jpeg image

30
推荐指数
4
解决办法
3万
查看次数

如何在firefox中处理"图像损坏或截断"

插入

我正在使用一个名为lazyload的jQuery插件.

这样做是lazy加载图像 - 这意味着它不会在浏览器中呈现它们,直到图像在视口范围内.

例如,当您拥有包含许多图像的页面时,这非常有用,并且您不希望它在初始加载时永久消耗.

FIREFOX

好的,所以我也在使用Firefox版本23.0.1

问题

插件很棒,但是当在一些图像后向下滚动时,我开始得到图像无法加载的错误(只有一个通用的占位符用于损坏的图像链接),并在控制台中记录:

Image corrupt or truncated: [image url]

并不是图像有问题.它们都可以单独渲染.

它不是SPECIFIC图像,因为它是随机的.如果我再次加载页面,corrupt现在可能加载的图像,其他图像返回断开的链接并登录corrupt控制台.

我四处寻找这个,似乎同时提取<img>src标签存在一些问题.

可能应该在获取时设置延迟,但是你不能总是知道延迟应该有多长.如果一个图像比另一个图像大,它仍然可能会发生冲突(静态延迟时间,而不是complete回调).

因此,我想要求:

a)如果有人知道这个的解决方案(例如在错误发生时捕获并重新触发加载图像功能)
b)如果有人可以$.extend()向上面的库(lazyload)提出一个会创建回调函数并等到所有活动的提取都complete在加载下一个之前(如果这是问题 - 我不确定它是不是) 我不是一个jQuery忍者,所以我对代码有点迷失.我可以搞清楚,但它可能很脏...
c)如果这不是问题,那么我可以解决这个问题的一些方向将不胜感激

firefox jquery lazy-loading image jquery-lazyload

18
推荐指数
1
解决办法
1万
查看次数

标签 统计

image ×2

firefox ×1

java ×1

jpeg ×1

jquery ×1

jquery-lazyload ×1

lazy-loading ×1