您的位置:首页 > Web前端 > JavaScript

JS读取文件大小,判断图片高宽

2007-05-30 01:56 716 查看
Checking a selected file's size requires local file system access which

is usually for web pages not possible due to security considerations.

If security settings are low enough NN4 can call into Java to read the

file's size, IE4+ can use the FileSystemObject to check the file's size.

The following page has two functions

getFileSize

and

getImageDimension

containing NN4 and IE4+ code to solve the described tasks.

IE安全有限制

用Web页面执行客户端程序

但必需客户端打开IE选项中的安全属情中的对没有标记为安全的ActiveX控件进行初始化和执行脚本

<HTML>

<HEAD>

<SCRIPT>

function getImageDimension (imgURL, loadHandler) {

var img = new Image();

img.onload = loadHandler;

if (document.layers

&& location.protocol.toLowerCase() != 'file:'

&& navigator.javaEnabled())

netscape.security.PrivilegeManager.enablePrivilege(

'UniversalFileRead'

);

img.src = imgURL;

}

function getFileSize (fileName) {

if (document.layers) {

if (navigator.javaEnabled()) {

var file = new java.io.File(fileName);

if (location.protocol.toLowerCase() != 'file:')

netscape.security.PrivilegeManager.enablePrivilege(

'UniversalFileRead'

);

return file.length();

}

else return -1;

}

else if (document.all) {

window.oldOnError = window.onerror;

window.onerror = function (err) {

if (err.indexOf('utomation') != -1) {

alert('file access not possible');

return true;

}

else

return false;

};

var fso = new ActiveXObject('Scripting.FileSystemObject');

var file = fso.GetFile(fileName);

window.onerror = window.oldOnError;

return file.Size;

}

}

function showImageDimensions () {

alert(this.width + 'x' + this.height);

}

</SCRIPT>

<SCRIPT>

function checkImageDimensions (fileName) {

var imgURL = 'file:///' + fileName;

getImageDimension(imgURL, showImageDimensions);

}

</SCRIPT>

</HEAD>

<BODY>

<FORM NAME="formName">

<INPUT TYPE="file" NAME="fileName">

<BR>

<INPUT TYPE="button" VALUE="check file size"

ONCLICK="alert(getFileSize(this.form.fileName.value))"

>

<BR>

<INPUT TYPE="button" VALUE="check image dimensions"

ONCLICK="checkImageDimensions(this.form.fileName.value)"

>

</FORM>

</BODY>

</HTML>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: