在IE8里,我用一下代码取不到本地上传路径: 
js: 
  function upload(){ 
    alert(document.getElementBtId('file1').value);   } 
jsp: 
  <input type='file' id='file1' onchange='upload()'> 然后取得的路径地址是: C:\fakepath\DSC07836.JPG 
原本的路径应该是:D:\DSC07838.JPG 我知道修改IE8的属性可以解决这个问题,但是做程序给别人用,不能这么随便,请问各位高手有好的解决办法么? document.getElementBtId('file1').value取的都不是本地路径了 
  

解决方案 »

  1.   

    用document.getElementBtId('file1').files[0].getAsDataURL()试试
      

  2.   

    <script>
    function show(){
    alert(document.all.file1.value);
    //alert(document.getElementByName("file1").value);
    }
    </script>
    <BODY>
    <input type="file" id="file1" name="file1" onchange="show()"></BODY>
    不知道对你有没有用 ,但是我测试的结果与你的有些出入,用document.getElementByName("file1").value 说不支持属性? 但是用document.all.file1.value 完全可以去到需要的上传文件的所在路径……
      

  3.   


    首先用HTML格式 还是能取到本地地址的,但是换成jsp格式就取不到了,其次getElementByName()没有这个方法,正确的是getElementsByName(),第三,用了你的方法document.all.file1.value ...我还是取不到55555555~~~
      

  4.   

    上面是FF中的一个,搞错了,换另一种方法
    document.getElementById('file1').select();
    alert(document.selection.createRange().text);
      

  5.   

    var file_input_obj = document.getElementBtId('file1').value;
    file_input_obj.outerHTML=file_input_obj.outerHTML.replace(/(value=\").+\"/i,"$1\"");
      

  6.   

    var file_input_obj = document.getElementBtId('file1').value;
    var html = file_input_obj.outerHTML.replace(/(value=\").+\"/i,"$1\"");
    alert(html);用这个
      

  7.   

    上面是FF中的一个,搞错了,换另一种方法 
    JScript codedocument.getElementById('file1').select(); 
    alert(document.selection.createRange().text); 
      

  8.   

    上面是FF中的一个,搞错了,换另一种方法 
    JScript codedocument.getElementById('file1').select(); 
    alert(document.selection.createRange().text);