当然可以,利用这个方法 function getFileSize(filepath) { if(window.ActiveXObject){ var fso=new ActiveXObject("Scripting.FileSystemObject"); var file=fso.GetFile(filepath); filesize=file.size; } }
var IsExists = getFile("c:\\leaveWordInfo.xml"); if(IsExists == "not exists") { // 如果不存在该文件,则创建该文件,并向该文件中写入一个 info 信息 var f1 = fso.createtextfile("c:\\leaveWordInfo.xml",true);
var str = ""; str = "<?xml version='1.0' encoding='GB2312'?>"; f1.writeLine(str);
// 获得当前时间 var date = new Date(); var year = date.getYear(); var month = date.getMonth()+1; var day = date.getDate(); var hour = date.getHours(); var Mintes = date.getMinutes(); var seconds = date.getSeconds(); str = "<date>"+(year+"-"+month+"-"+day+" "+hour+":"+Mintes+":"+seconds)+"</date>"; f1.writeLine(str);
// 将新留言重新写入至 XML 文档中 // 如果不存在该文件,则创建该文件,并向该文件中写入一个 info 信息 var f1 = fso.createtextfile("c:\\leaveWordInfo.xml",true);
var str = ""; str = "<?xml version='1.0' encoding='GB2312'?>"; f1.writeLine(str);
str = "<leaveWordInfo>"; f1.writeLine(str); // 重新往 XML 中写入旧留言 for(var i =2; i< array.length-1 ; i++){ var str2 = array[i] .toString(); f1.writeLine(str2); } // 添加新留言 str = "<info>"; f1.writeLine(str);
// 获得上一留言的 ID ,以此来设置新留言的 ID var PreId = array[array.length -8].toString().substring(5,7); str = "<Id>L"+(parseInt(PreId)+1)+"</Id>"; f1.writeLine(str);
// 获得该游客的表情 var brow = document.form1.emote; var brow_value =""; for(var i = 0 ; i< brow.length ; i++){ if(brow[i].checked){ brow_value = document.form1.emote[i].value; } } str = "<brow>"+brow_value+"</brow>"; f1.writeLine(str);
// 获得当前时间 var date = new Date(); var year = date.getYear(); var month = date.getMonth()+1; var day = date.getDate(); var hour = date.getHours(); var Mintes = date.getMinutes(); var seconds = date.getSeconds(); str = "<date>"+(year+"-"+month+"-"+day+" "+hour+":"+Mintes+":"+seconds)+"</date>"; f1.writeLine(str);
var IsExists = getFile("c:\\leaveWordInfo.xml"); if(IsExists == "not exists") { // 如果不存在该文件,则创建该文件,并向该文件中写入一个 info 信息 var f1 = fso.createtextfile("c:\\leaveWordInfo.xml",true);
var str = ""; str = "<?xml version='1.0' encoding='GB2312'?>"; f1.writeLine(str);
// 获得当前时间 var date = new Date(); var year = date.getYear(); var month = date.getMonth()+1; var day = date.getDate(); var hour = date.getHours(); var Mintes = date.getMinutes(); var seconds = date.getSeconds(); str = "<date>"+(year+"-"+month+"-"+day+" "+hour+":"+Mintes+":"+seconds)+"</date>"; f1.writeLine(str);
// 将新留言重新写入至 XML 文档中 // 如果不存在该文件,则创建该文件,并向该文件中写入一个 info 信息 var f1 = fso.createtextfile("c:\\leaveWordInfo.xml",true);
var str = ""; str = "<?xml version='1.0' encoding='GB2312'?>"; f1.writeLine(str);
str = "<leaveWordInfo>"; f1.writeLine(str); // 重新往 XML 中写入旧留言 for(var i =2; i< array.length-1 ; i++){ var str2 = array[i] .toString(); f1.writeLine(str2); } // 添加新留言 str = "<info>"; f1.writeLine(str);
// 获得上一留言的 ID ,以此来设置新留言的 ID var PreId = array[array.length -8].toString().substring(5,7); str = "<Id>L"+(parseInt(PreId)+1)+"</Id>"; f1.writeLine(str);
// 获得该游客的表情 var brow = document.form1.emote; var brow_value =""; for(var i = 0 ; i< brow.length ; i++){ if(brow[i].checked){ brow_value = document.form1.emote[i].value; } } str = "<brow>"+brow_value+"</brow>"; f1.writeLine(str);
// 获得当前时间 var date = new Date(); var year = date.getYear(); var month = date.getMonth()+1; var day = date.getDate(); var hour = date.getHours(); var Mintes = date.getMinutes(); var seconds = date.getSeconds(); str = "<date>"+(year+"-"+month+"-"+day+" "+hour+":"+Mintes+":"+seconds)+"</date>"; f1.writeLine(str);
因为需要使用控件,并且只能在windows下面用。
你查一下FSO的资源就OK
function getFileSize(filepath) {
if(window.ActiveXObject){
var fso=new ActiveXObject("Scripting.FileSystemObject");
var file=fso.GetFile(filepath);
filesize=file.size;
}
}
这就是一个使用 FSO 静态完成用户留言,使用 FSO 将用户的留言存储到 XML 文档中.里面涉及到 FSO 的一些对文件的操作和 JS DOM 的操作。
如果你想在 JS 中判断文件的大小是可以实现的,首先你根据 file 对话框可以获取文件的路径,在使用 FSO 利用这个路径来创建这个文件的对象,使用 size 属性(对于文件,返回指定的文件的大小,以字节为单位。对于文件夹,返回文件夹所包含的所有文件和子文件夹的大小,以字节为单位。) 获得该文件的大小。剩下的任务你可以自己完成了吧!还有就是如何设定 FSO 的环境:设定 IE 浏览器安全性低是不够的 ,还要设置 IE 浏览器 “跨域访问权限” ,因为 FSO 是使用客户端的代码来范围客户端的文件,所以一定要有个跨域访问权限。,请操作我给别人回答的一封帖子来参照如何设定 FSO http://topic.csdn.net/u/20080908/09/1d9e9cd3-8dca-46ad-a722-3ae88d5301af.html最后 FSO 是不安全的 actionx 控件,用不用你自己决定,反正你的问题可以解决!
<script language="javascript">
function check(){ if(document.getElementById("name").value == "")
{
alert("昵称不允许为空!");
document.getElementById("name").focus();
return false;
}
else if(form1.content.value ==""){
alert("留言内容不允许为空!");
form1.content.focus();
return false;
}
else
{
// 当内容都不为空时,则向 XML 中插入游客留言的信息
fso = new ActiveXObject("Scripting.FileSystemObject");
var IsExists = getFile("c:\\leaveWordInfo.xml");
if(IsExists == "not exists")
{
// 如果不存在该文件,则创建该文件,并向该文件中写入一个 info 信息
var f1 = fso.createtextfile("c:\\leaveWordInfo.xml",true);
var str = "";
str = "<?xml version='1.0' encoding='GB2312'?>";
f1.writeLine(str);
str = "<leaveWordInfo>";
f1.writeLine(str);
str = "<info>";
f1.writeLine(str);
str = "<Id>L1</Id>";
f1.writeLine(str);
str = "<name>"+document.getElementById("name").value+"</name>";
f1.writeLine(str);
// 获得该游客的性别
var sex = document.form1.sex;
var sex_value ="";
for(var i = 0 ; i< sex.length ; i++){
if(sex[i].checked){
sex_value = document.form1.sex[i].value;
}
}
str = "<sex>"+sex_value+"</sex>";
f1.writeLine(str);
// 获得该游客的表情
var brow = document.form1.emote;
var brow_value ="";
for(var i = 0 ; i< brow.length ; i++){
if(brow[i].checked){
brow_value = document.form1.emote[i].value;
}
}
str = "<brow>"+brow_value+"</brow>";
f1.writeLine(str);
// 获得当前时间
var date = new Date();
var year = date.getYear();
var month = date.getMonth()+1;
var day = date.getDate();
var hour = date.getHours();
var Mintes = date.getMinutes();
var seconds = date.getSeconds();
str = "<date>"+(year+"-"+month+"-"+day+" "+hour+":"+Mintes+":"+seconds)+"</date>";
f1.writeLine(str);
str = "<content>"+form1.content.value+"</content>";
f1.writeLine(str);
str = "</info>";
f1.writeLine(str);
str = "</leaveWordInfo>";
f1.writeLine(str);
f1.Close();
}
else if(IsExists == "exists"){
var ts = fso.OpenTextFile("c:\\leaveWordInfo.xml", 1); // 创建只读的 fso 对象:1 --> 只读 ; 2 --> 只写
var Rowcounts = 0 ; //记录该文件的总行数以初始化数组。
var line = ts.ReadLine();
while(!ts.AtEndOfStream){
Rowcounts++;
line = ts.ReadLine();
}
Rowcounts += 1; // 定义数组用来存储从 XML 中读取出来的值, Rowcounts --> XML 文档的总行数; 8 --> 要添加新留言的行数
array = new Array(Rowcounts);
// 至此 , 已全部将 XML 文档中的内容读出并存入到数组中储存
var ts = fso.OpenTextFile("c:\\leaveWordInfo.xml", 1); // 创建只读的 fso 对象:1 --> 只读 ; 2 --> 只写
var str = ts.ReadLine(); for(var i =0 ;; i++)
{
array[i] = str;
if(i == Rowcounts-1){
ts.Close();
break;
}
str = ts.ReadLine();
}
// 将新留言重新写入至 XML 文档中
// 如果不存在该文件,则创建该文件,并向该文件中写入一个 info 信息
var f1 = fso.createtextfile("c:\\leaveWordInfo.xml",true);
var str = "";
str = "<?xml version='1.0' encoding='GB2312'?>";
f1.writeLine(str);
str = "<leaveWordInfo>";
f1.writeLine(str); // 重新往 XML 中写入旧留言
for(var i =2; i< array.length-1 ; i++){
var str2 = array[i] .toString();
f1.writeLine(str2);
} // 添加新留言
str = "<info>";
f1.writeLine(str);
// 获得上一留言的 ID ,以此来设置新留言的 ID
var PreId = array[array.length -8].toString().substring(5,7); str = "<Id>L"+(parseInt(PreId)+1)+"</Id>";
f1.writeLine(str);
str = "<name>"+document.getElementById("name").value+"</name>";
f1.writeLine(str);
// 获得该游客的性别
var sex = document.form1.sex;
var sex_value ="";
for(var i = 0 ; i< sex.length ; i++){
if(sex[i].checked){
sex_value = document.form1.sex[i].value;
}
}
str = "<sex>"+sex_value+"</sex>";
f1.writeLine(str);
// 获得该游客的表情
var brow = document.form1.emote;
var brow_value ="";
for(var i = 0 ; i< brow.length ; i++){
if(brow[i].checked){
brow_value = document.form1.emote[i].value;
}
} str = "<brow>"+brow_value+"</brow>";
f1.writeLine(str);
// 获得当前时间
var date = new Date();
var year = date.getYear();
var month = date.getMonth()+1;
var day = date.getDate();
var hour = date.getHours();
var Mintes = date.getMinutes();
var seconds = date.getSeconds();
str = "<date>"+(year+"-"+month+"-"+day+" "+hour+":"+Mintes+":"+seconds)+"</date>";
f1.writeLine(str);
str = "<content>"+form1.content.value+"</content>";
f1.writeLine(str);
str = "</info>";
f1.writeLine(str);
str = "</leaveWordInfo>";
f1.writeLine(str);
f1.Close();
}
alert("留言成功!");
// location.href="../default.html";
return true;
}
} // 此方法判断该 XML 是否存在
function getFile(filename)
{
if(!fso.FileExists(filename)){
// 不存在该文件
return "not exists";
}
else
{
return "exists";
}
}
</script>
<script language="javascript">
function check(){ if(document.getElementById("name").value == "")
{
alert("昵称不允许为空!");
document.getElementById("name").focus();
return false;
}
else if(form1.content.value ==""){
alert("留言内容不允许为空!");
form1.content.focus();
return false;
}
else
{
// 当内容都不为空时,则向 XML 中插入游客留言的信息
fso = new ActiveXObject("Scripting.FileSystemObject");
var IsExists = getFile("c:\\leaveWordInfo.xml");
if(IsExists == "not exists")
{
// 如果不存在该文件,则创建该文件,并向该文件中写入一个 info 信息
var f1 = fso.createtextfile("c:\\leaveWordInfo.xml",true);
var str = "";
str = "<?xml version='1.0' encoding='GB2312'?>";
f1.writeLine(str);
str = "<leaveWordInfo>";
f1.writeLine(str);
str = "<info>";
f1.writeLine(str);
str = "<Id>L1</Id>";
f1.writeLine(str);
str = "<name>"+document.getElementById("name").value+"</name>";
f1.writeLine(str);
// 获得该游客的性别
var sex = document.form1.sex;
var sex_value ="";
for(var i = 0 ; i< sex.length ; i++){
if(sex[i].checked){
sex_value = document.form1.sex[i].value;
}
}
str = "<sex>"+sex_value+"</sex>";
f1.writeLine(str);
// 获得该游客的表情
var brow = document.form1.emote;
var brow_value ="";
for(var i = 0 ; i< brow.length ; i++){
if(brow[i].checked){
brow_value = document.form1.emote[i].value;
}
}
str = "<brow>"+brow_value+"</brow>";
f1.writeLine(str);
// 获得当前时间
var date = new Date();
var year = date.getYear();
var month = date.getMonth()+1;
var day = date.getDate();
var hour = date.getHours();
var Mintes = date.getMinutes();
var seconds = date.getSeconds();
str = "<date>"+(year+"-"+month+"-"+day+" "+hour+":"+Mintes+":"+seconds)+"</date>";
f1.writeLine(str);
str = "<content>"+form1.content.value+"</content>";
f1.writeLine(str);
str = "</info>";
f1.writeLine(str);
str = "</leaveWordInfo>";
f1.writeLine(str);
f1.Close();
}
else if(IsExists == "exists"){
var ts = fso.OpenTextFile("c:\\leaveWordInfo.xml", 1); // 创建只读的 fso 对象:1 --> 只读 ; 2 --> 只写
var Rowcounts = 0 ; //记录该文件的总行数以初始化数组。
var line = ts.ReadLine();
while(!ts.AtEndOfStream){
Rowcounts++;
line = ts.ReadLine();
}
Rowcounts += 1; // 定义数组用来存储从 XML 中读取出来的值, Rowcounts --> XML 文档的总行数; 8 --> 要添加新留言的行数
array = new Array(Rowcounts);
// 至此 , 已全部将 XML 文档中的内容读出并存入到数组中储存
var ts = fso.OpenTextFile("c:\\leaveWordInfo.xml", 1); // 创建只读的 fso 对象:1 --> 只读 ; 2 --> 只写
var str = ts.ReadLine(); for(var i =0 ;; i++)
{
array[i] = str;
if(i == Rowcounts-1){
ts.Close();
break;
}
str = ts.ReadLine();
}
// 将新留言重新写入至 XML 文档中
// 如果不存在该文件,则创建该文件,并向该文件中写入一个 info 信息
var f1 = fso.createtextfile("c:\\leaveWordInfo.xml",true);
var str = "";
str = "<?xml version='1.0' encoding='GB2312'?>";
f1.writeLine(str);
str = "<leaveWordInfo>";
f1.writeLine(str); // 重新往 XML 中写入旧留言
for(var i =2; i< array.length-1 ; i++){
var str2 = array[i] .toString();
f1.writeLine(str2);
} // 添加新留言
str = "<info>";
f1.writeLine(str);
// 获得上一留言的 ID ,以此来设置新留言的 ID
var PreId = array[array.length -8].toString().substring(5,7); str = "<Id>L"+(parseInt(PreId)+1)+"</Id>";
f1.writeLine(str);
str = "<name>"+document.getElementById("name").value+"</name>";
f1.writeLine(str);
// 获得该游客的性别
var sex = document.form1.sex;
var sex_value ="";
for(var i = 0 ; i< sex.length ; i++){
if(sex[i].checked){
sex_value = document.form1.sex[i].value;
}
}
str = "<sex>"+sex_value+"</sex>";
f1.writeLine(str);
// 获得该游客的表情
var brow = document.form1.emote;
var brow_value ="";
for(var i = 0 ; i< brow.length ; i++){
if(brow[i].checked){
brow_value = document.form1.emote[i].value;
}
} str = "<brow>"+brow_value+"</brow>";
f1.writeLine(str);
// 获得当前时间
var date = new Date();
var year = date.getYear();
var month = date.getMonth()+1;
var day = date.getDate();
var hour = date.getHours();
var Mintes = date.getMinutes();
var seconds = date.getSeconds();
str = "<date>"+(year+"-"+month+"-"+day+" "+hour+":"+Mintes+":"+seconds)+"</date>";
f1.writeLine(str);
str = "<content>"+form1.content.value+"</content>";
f1.writeLine(str);
str = "</info>";
f1.writeLine(str);
str = "</leaveWordInfo>";
f1.writeLine(str);
f1.Close();
}
alert("留言成功!");
// location.href="../default.html";
return true;
}
} // 此方法判断该 XML 是否存在
function getFile(filename)
{
if(!fso.FileExists(filename)){
// 不存在该文件
return "not exists";
}
else
{
return "exists";
}
}
</script>