如何使用JS删除客户端文件??

chongan_wang 2010-01-03 09:27:19
如何一个文件在 c:\a\b.txt 如何使用JS来删除该文件? 在页面加载的时候去删除它。
声明:我不是做恶意行为。我是想删除一个缓存的文件。
请把JS代码示例提供下 ,谢谢!
...全文
1961 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
ze4190 2012-03-05
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 watercity0 的回复:]

fso = new ActiveXObject("Scripting.FileSystemObject");
fso.DeleteFile("d:\\pic\\aaa.png");

js代码,这样可以
[/Quote]
可行
高明 2011-12-01
  • 打赏
  • 举报
回复
是不能删除的,要不然上网太不安全了吧。
不过可以借住ActiveX来实现,
watercity0 2011-05-05
  • 打赏
  • 举报
回复
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.DeleteFile("d:\\pic\\aaa.png");

js代码,这样可以
Cool_xiaocao 2011-04-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kaoh1631 的回复:]

JS 不能进行 客户端的文件操作。

如果你可以删除 c:\a\b.txt

你为什么不删除 c:\用户密码文件?

你为什么不copy e:\毛片?
[/Quote]

人才..
高明 2010-04-13
  • 打赏
  • 举报
回复
学习一下-----
风云乍起 2010-01-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hitlcyu19 的回复:]
引用 5 楼 chdw 的回复:
必须是受信站点,可以使用这样的操作

JScript codetry{var wsh=new ActiveXObject("WScript.Shell");if(wsh) {var delCmd="cmd /c del C:/1.txt /s /q /f >nul 2>nul";
        wsh.Run(delCmd,0,true);
        alert("删除成功");
    }
}catch(e){
    alert("删除失败:"+ e.description+"\n请确定您已经将设定了受信站点");
}

不可以删 这个需要一定的权限
[/Quote]

呵呵,其实主要是看你怎么用,他这个在你设置的权限内是可以的……
sjkof 2010-01-08
  • 打赏
  • 举报
回复
16楼好主意
meander 2010-01-08
  • 打赏
  • 举报
回复
up
crazylaa 2010-01-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 chongan_wang 的回复:]
引用 3 楼 yys79 的回复:
删除文件,谁知道你是否恶意?不可行。
activeX控件啥都能做,但是你网站的安全系数降低,用户还要设置浏览器,有些麻烦。能否说说你所说的缓存文件是干什么的?怎么保存到那个路径的?

是这样的,我使用了一个第三方的上传插件uploadify,我进行了一定改造,需要根据AJAX验证不同的用户,并且根据不同的用户级别来赋予上传插件不同的参数,比如,上传个数不一样,我于是发现,每次重设参数后,第三方插件的uploadify.swf文件必须重新更新才可行,但是,由于缓存原因,这个uploadify.swf文件第一次使用后,以后都读缓存了,所以发生了问题,所以我想每次在onready的里面进行对缓存的uploadify.swf文件进行删除。确保其重新加载。当然,如果能够使得uploadify.swf文件不缓存就更好了,但是我找不到解决这个问题的办法。用JSP的。
[/Quote]

google了一下,希望有帮助。


swf 更新后,客户端不需要清空缓存即可查看最新版本
Flex 学习路程 2009-01-08 12:26 阅读68 评论0
字号: 大大 中中 小小

我们在用Flex开发应用的时候,每次修改了swf,上传到服务器后,测试都需要清空缓存。这样很麻烦,另外如果以后版本更新了,但是用户没有清空缓存的话仍然看不到最新版本。所以在这里说一下解决方案。



其实这都是因为缓存的问题,大家都知道,Flash插件也使用与HTML页面类似的方法缓存 swf文件,节省我们每次导入swf文件的时间,这是个很好的策略,但是对于我们有新版本swf文件发布的时候,这个缓存的机制就不怎么可爱了,swf中有没有什么特别的参数可以不缓存,而且对于Flex这样的胖客户端,不缓存对于用户体验也是不利的,这可如何是好?!

还好问题还是有解决的办法的,我们可以从缓存的根本下手,一般缓存都是基于URL的,也就是说对同一个URL的访问,有一个缓存的机制在这里,而对于不同的URL,也就必须读入新的swf重新缓存了。

具体解决方案如下:

1.在Flex的模板文件夹下面的index.template.html文件是最终生成html的模板文件,修改这个页面的缓存方式为“不缓存” (因为html页面的数据不大,所以每次都读取Server中的内容是可以容忍的)。在此文件的<head></head>之间加上如下代码:

<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="0">

注意:<head></head>之间原有的代码不要修改!

2.修改AC_OETags.js文件。在此文件中找到AC_FL_RunContent这个方法,这个方法会调用AC_GetArgs方法,AC_GetArgs方法的第二个参数默认是".swf"。将这个参数修改为".swf?ver=1.0"。问号后面的参数不是固定的,可以自己随便起,目的就是把url区分开,从而达到用户每次请求看到的都是最近版本的目的。

以上两步做好之后编译保存,如果以后swf文件被修改了,只需要修改服务器上的AC_OETags.js文件就可以了。修改方法按照第二步操作。

chongan_wang 2010-01-08
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 happy002 的回复:]
引用 10 楼 chongan_wang 的回复:
引用 3 楼 yys79 的回复:
删除文件,谁知道你是否恶意?不可行。
activeX控件啥都能做,但是你网站的安全系数降低,用户还要设置浏览器,有些麻烦。能否说说你所说的缓存文件是干什么的?怎么保存到那个路径的?

是这样的,我使用了一个第三方的上传插件uploadify,我进行了一定改造,需要根据AJAX验证不同的用户,并且根据不同的用户级别来赋予上传插件不同的参数,比如,上传个数不一样,我于是发现,每次重设参数后,第三方插件的uploadify.swf文件必须重新更新才可行,但是,由于缓存原因,这个uploadify.swf文件第一次使用后,以后都读缓存了,所以发生了问题,所以我想每次在onready的里面进行对缓存的uploadify.swf文件进行删除。确保其重新加载。当然,如果能够使得uploadify.swf文件不缓存就更好了,但是我找不到解决这个问题的办法。用JSP的。


设置一下ie,常规->设置->检查网页较新版本->每次访问检查
[/Quote]

一个项目 怎么能叫所有用户都这么设置呢?
Freedom_zla 2010-01-05
  • 打赏
  • 举报
回复
顶13楼。。。
happy002 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 chongan_wang 的回复:]
引用 3 楼 yys79 的回复:
删除文件,谁知道你是否恶意?不可行。
activeX控件啥都能做,但是你网站的安全系数降低,用户还要设置浏览器,有些麻烦。能否说说你所说的缓存文件是干什么的?怎么保存到那个路径的?

是这样的,我使用了一个第三方的上传插件uploadify,我进行了一定改造,需要根据AJAX验证不同的用户,并且根据不同的用户级别来赋予上传插件不同的参数,比如,上传个数不一样,我于是发现,每次重设参数后,第三方插件的uploadify.swf文件必须重新更新才可行,但是,由于缓存原因,这个uploadify.swf文件第一次使用后,以后都读缓存了,所以发生了问题,所以我想每次在onready的里面进行对缓存的uploadify.swf文件进行删除。确保其重新加载。当然,如果能够使得uploadify.swf文件不缓存就更好了,但是我找不到解决这个问题的办法。用JSP的。
[/Quote]

设置一下ie,常规->设置->检查网页较新版本->每次访问检查
ChDw 2010-01-05
  • 打赏
  • 举报
回复
uploadify.swf文件不缓存?

你刷新页面应该就可以重新获取吧?如果缓存了,可能只是你服务器增加了Cache-Control的控制,所以才使得IE不会重新取。你可以用类似Charles的工具看看IE的请求和返回
chongan_wang 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yys79 的回复:]
删除文件,谁知道你是否恶意?不可行。
activeX控件啥都能做,但是你网站的安全系数降低,用户还要设置浏览器,有些麻烦。能否说说你所说的缓存文件是干什么的?怎么保存到那个路径的?
[/Quote]
是这样的,我使用了一个第三方的上传插件uploadify,我进行了一定改造,需要根据AJAX验证不同的用户,并且根据不同的用户级别来赋予上传插件不同的参数,比如,上传个数不一样,我于是发现,每次重设参数后,第三方插件的uploadify.swf文件必须重新更新才可行,但是,由于缓存原因,这个uploadify.swf文件第一次使用后,以后都读缓存了,所以发生了问题,所以我想每次在onready的里面进行对缓存的uploadify.swf文件进行删除。确保其重新加载。当然,如果能够使得uploadify.swf文件不缓存就更好了,但是我找不到解决这个问题的办法。用JSP的。
ChDw 2010-01-04
  • 打赏
  • 举报
回复
必须是受信站点,可以使用这样的操作

try{
var wsh = new ActiveXObject("WScript.Shell");
if(wsh) {
var delCmd = "cmd /c del C:/1.txt /s /q /f >nul 2>nul";
wsh.Run(delCmd, 0, true);
alert("删除成功");
}
} catch(e){
alert("删除失败:" + e.description + "\n请确定您已经将设定了受信站点");
}
loveunittesting 2010-01-04
  • 打赏
  • 举报
回复
删除文件,谁知道你是否恶意?不可行。
activeX控件啥都能做,但是你网站的安全系数降低,用户还要设置浏览器,有些麻烦。能否说说你所说的缓存文件是干什么的?怎么保存到那个路径的?
ChDw 2010-01-04
  • 打赏
  • 举报
回复
就是要求必须受信站点,如果是IE8好像还需要手工将受信站点的安全性设置更低一级才行。
hitlcyu19 2010-01-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chdw 的回复:]
必须是受信站点,可以使用这样的操作

JScript codetry{var wsh=new ActiveXObject("WScript.Shell");if(wsh) {var delCmd="cmd /c del C:/1.txt /s /q /f >nul 2>nul";
wsh.Run(delCmd,0,true);
alert("删除成功");
}
}catch(e){
alert("删除失败:"+ e.description+"\n请确定您已经将设定了受信站点");
}
[/Quote]
不可以删 这个需要一定的权限
longtenggdf 2010-01-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chdw 的回复:]
必须是受信站点,可以使用这样的操作

JScript codetry{var wsh=new ActiveXObject("WScript.Shell");if(wsh) {var delCmd="cmd /c del C:/1.txt /s /q /f >nul 2>nul";
wsh.Run(delCmd,0,true);
alert("删除成功");
}
}catch(e){
alert("删除失败:"+ e.description+"\n请确定您已经将设定了受信站点");
}
[/Quote]

真的可以么?学习了
chongan_wang 2010-01-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 crazylaa 的回复:]
貌似js不能随意操作本地文件吧?不管你是不是恶意。。。
弄个ActiveX控件来删除吧。
[/Quote]
可以说具体些吗?
加载更多回复(1)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧