javascript - 如何确定 JavaScript 中的文件大小?

标签 javascript image file greasemonkey

我帮助管理一个在线论坛,在这个论坛上我们限制签名的大小。目前,我们通过我编写的一个简单的 Greasemonkey 脚本对此进行了测试;我们用 <div> 包装所有签名,脚本会查找它们,然后测量 div 的高度和宽度。

脚本现在所做的就是确保签名位于特定的高度/宽度。我想开始自动测量签名内图像的文件大小,以便脚本可以自动标记在签名中包含大图像的用户。但是,我似乎无法找到一种方法来衡量页面上加载的图像的大小。我搜索并找到了 IE 的特殊属性 (element.fileSize),但我显然不能在我的 Greasemonkey 脚本中使用它。

有没有办法通过 JavaScript 在 Firefox 中找出图像的文件大小?

编辑:人们误解了这个问题。论坛本身不托管图片;我们托管人们输入的 BBCode 作为他们的签名。因此,例如,人们输入:

This is my signature, check out my [url=http://google.com]awesome website[/url]!
This image is cool!  [img]http://image.gif[/img]

我希望能够通过 Greasemonkey 检查这些图像。我可以编写一个批处理脚本来扫描所有这些,但我只是想知道是否有办法扩充我当前的脚本。

最佳答案

如您所知,IE 支持图像的 fileSize 属性。在其他浏览器中没有这样的运气......但是,你应该能够修改这个脚本:

http://natbat.net/2008/Aug/27/addSizes/

它使用 JSON 读取文件的 HTTP header 并显示其实际文件大小。这应该可以帮助您防止人们上传大型动画 GIF。

关于获取尺寸:

var img = new Image();
theImage.src = "someimage.jpg";
actualwidth = theImage.width;
actualheight = theImage.height;

这当然是一种纯客户端方法,可以在服务器端进行最佳处理。

关于javascript - 如何确定 JavaScript 中的文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1126905/

相关文章:

objective-c - 在 iOS 应用程序中获取和显示来自 Facebook 的图像

css - Django CSS 文件

javascript - Highcharts 标记大小在悬停时/悬停后发生变化

javascript - 具有多个入口点的 Internet Explorer 11 的 webpack 4/vue.js 示例

java - 在相册或图库中创建一个文件夹,如 WhatsApp 图像、WhatsApp 视频

java - 只允许我的应用程序访问网页

c# - System.IO.File 是一种类型而不是命名空间

javascript - e.preventDefault() - 将其应用于除一个 div 之外的所有 div 时出现问题

javascript - 是否可以使用 JavaScript 对 HTA 执行 Windows 资源管理器搜索?

javascript - 如何使用 javascript 阻止来自特定站点的图像?