作者qm29213039 (崩啾)
看板Ajax
标题[问题] 想请问取代 C:\fakepath的问题
时间Tue Nov 26 17:22:49 2013
我做了一只程式
让使用者可以上传一只LOG档,然後我转成HTML档给使用者
但是在抓使用者上传档案的时候
发现因为IE有保护使用者档案的机制,把路径改为C:\fakepath\xxxx.log
拜过stackoverflow之後,还是没有办法把前面的C:\fakepath取消掉
想请教我的写法上哪边有问题?谢谢
<head>
<script language="javascript">
$(document).ready(function() {
$("
#file_exec").click(function(){
$('#exec').val().replace("C:fakepath", "");
alert($("#exec").val());
});
</script>
</head>
<body>
<input type="file" id="exec" name="exec">
<input type="button" id="file_exec" value="执行">
</body>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 101.13.244.223
1F:推 saluyi:为什麽想改掉那个C:\fakepath呀 11/26 18:33
2F:→ saluyi:而且不只是IE 其他的浏览器也会为了保护使用者的资料 11/26 18:37
3F:→ CaptainH:是因为你没写"\\"吗 XD 11/26 18:38
不是这个原因啦,我有加\\跟没加都有试过XD
4F:→ saluyi:改成用fakepath显示档案路径 11/26 18:38
5F:→ saluyi:另外$('#exec').val().replace("C:fakepath", ""); 11/26 18:39
6F:→ saluyi:并不会改变$('#exec').val()的值 11/26 18:40
7F:→ saluyi:所以你alert出来的一样会是c:\fackpath\xxxxx 11/26 18:40
8F:→ saluyi:而且upload input 也不能用 .val('value')的方式去改变 11/26 18:42
9F:→ saluyi:如果你只是想单纯的显示出filename 不要前面的fakepath 11/26 18:43
10F:→ saluyi:就把他的val丢到另一个var里面再去做replace吧Y 11/26 18:43
谢谢S大,最後我是把value丢到其他var下做replace
会坚持要把fakepath取代掉一方面是後端的exec好像没办法接到fakepath的参数
另一方面是後端转换好了HTML之後
前段要alert 产生的档名.HTML给使用者知道产生的档案名
所以不想让使用者看到产生C:\fakepath\xxx.HTML XD
※ 编辑: qm29213039 来自: 111.249.192.20 (11/28 00:03)