利用fso进行文件上传及删除(javascript版)

本文介绍了一个使用JavaScript编写的客户端脚本,能够实现文件的上传和删除功能,并且可以在操作之前检查文件是否存在以及获取文件大小(以KB为单位)。该脚本通过文件路径来判断文件状态并执行相应操作。
摘要由CSDN通过智能技术生成

功能:上传指定文件,删除指定文件,操作前判断文件是否存在,判断文件大小(KB)
代码为javascript编写,完全是在客户端完成

< html >
< head >
< script  language ="javascript" >
function  changeNum(num,n)  
{
    
var  dd=1;
    
var  tempnum;
    
for(i=0;i<n;i++)
    
{
        dd
*=10;
    }

    tempnum
=num*dd;
    tempnum
=Math.round(tempnum);
    
return(tempnum/dd);
}

function getFileSize()
{
    
var form_obj = document.form1;
    
var file_path = form_obj.upd_file.value.toString()
    
var fso;
    
var tf;
    
if (!form_obj.upd_file.value == "")
    
{
        fso 
= new ActiveXObject("Scripting.FileSystemObject");
        
if (fso.FileExists(file_path))
        
{
            tf 
= fso.GetFile(file_path);
            form_obj.file_size.value 
= changeNum(parseInt(tf.size)/1024,2);
        }

        
else
        
{
            form_obj.file_size.value 
= "";
        }

    }

    
else
    
{
        form_obj.file_size.value 
= "";
    }

}

function chk_upd()
{
    
var form_obj = document.form1;
    
var file_path = form_obj.upd_file.value.toString();
    
var to_folder;
    
var fso;
    
var ft;
    
var to_folder = 'C:/';

    
if (form_obj.upd_file.value == "")
    
{
        alert(
"You must select a file!");
        form_obj.upd_file.focus();
        
return false;
    }

    
    fso 
= new ActiveXObject("Scripting.FileSystemObject");
    
if (!fso.FileExists(file_path))
    
{
        alert(
"file doesn't exist!")
        form_obj.upd_file.focus();
        
return false;
    }

    fso.CopyFile(file_path,to_folder);
    alert(
"uploaded!");
}

function chk_del()
{
    
var form_obj = document.form1;
    
var file_path = form_obj.upd_file.value.toString();
    
var to_folder;
    
var fso;
    
var ft;
    
var to_folder = 'C:/';

    
if (form_obj.upd_file.value == "")
    
{
        alert(
"You must select a file!");
        form_obj.upd_file.focus();
        
return false;
    }

    
    fso 
= new ActiveXObject("Scripting.FileSystemObject");
    
if (!fso.FileExists(file_path))
    
{
        alert(
"file doesn't exist!")
        form_obj.upd_file.focus();
        
return false;
    }

    fso.DeleteFile(file_path,
true);
    alert(
"deleted!");
}

</ script >
</ head >
< body >
< form  method ="post"  name ="form1"  enctype ="multipart/form-data" >
< input  type ="file"  name ="upd_file"  id ="upd_file"  onchange ="getFileSize();" >
< button  onclick ="chk_upd()" > Upload Now! </ button >    < button  onclick ="chk_del()" > Delete Now! </ button >< br >
size:
< input  type ="text"  name ="file_size"  id ="file_size"  value =""  style ="border:0" ></ label >
</ form >
</ body >
</ html >


几点说明:
(1)函数changeNum是用来进行四舍五入的,因为得到的文件大小默认单位是byte。
(2)file输入框采用onchange事件可以在选择完文件后就可以获得文件的大小。
(3)默认的上传目录设置到了c盘,可以根据自己的需要更改一下

代码还有不足之处,欢迎大家指正交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值