javascript 파일 컨트롤 전체 경로 가 져 오기

2287 단어 JavaScripthtml
fireforx 가 전체 경 로 를 가 져 오 는 방식 과 원리: document. getElement ById ('my - file'). files 방법 은 사용자 가 선택 한 파일 의 집합 을 가 져 오 는 데 사 용 됩 니 다. 일반적인 상황 에서 단일 파일 을 선택 합 니 다. (FireFox 가 이렇게 하 는 것 은 다 중 파일 선택 을 지원 하 는 것 같 지만 시도 해 보지 않 았 습 니 다. 독자 가 직접 시도 할 수 있 습 니 다) item 배열 은 그 중의 한 파일 을 얻 을 수 있 습 니 다.그리고 우 리 는 nsIDOMFile 이 제공 하 는 속성 과 방법 을 사용 할 수 있 습 니 다.이것 은 두 가지 속성 과 세 가지 방법 을 포함 합 니 다: fileName: 사용자 가 선택 한 파일 의 이름 을 가 져 오 는 데 사 용 됩 니 다. 이것 은 value 값 을 직접 가 져 오 는 결과 와 같 습 니 다.fileSize: 사용자 가 선택 한 파일 의 크기 를 가 져 옵 니 다.getAsBinary (): 사용자 가 선택 한 파일 의 바 이 너 리 데 이 터 를 가 져 옵 니 다.getAsDataURL (): 사용자 가 선택 한 파일 의 경 로 를 가 져 옵 니 다. 이 경 로 는 암호 화 되 어 현재 FireFox 에서 만 사용 할 수 있 습 니 다.getAsText (): 사용자 가 선택 한 파일 의 지정 한 문자 인 코딩 텍스트 를 가 져 옵 니 다.한 가지 설명 이 필요 합 니 다. 방법 getAsDataURL () 은 사용자 가 선택 한 파일 의 로 컬 경 로 를 얻 을 수 있 습 니 다. 그러나 이 경로 의 문자열 텍스트 는 FireFox 에 의 해 암호 화 되 었 습 니 다. 그리고 이 밀 문 은 FireFox 에 의 해 만 식별 되 고 다른 브 라 우 저 는 식별 할 수 없습니다. 즉, 저 는 암호 화 된 경 로 를 img 태그 의 src 속성 에 직접 할당 합 니 다.FireFox 에 서 는 그림 을 직접 표시 할 수 있 지만 IE 에 서 는 안 된다.
 
<html>
    <head>
        <title>get file input full pathtitle>
    <script language='javascript'>
        function getFullPath(obj)
        {
            if(obj)
            {
                if (window.navigator.userAgent.indexOf("MSIE")>=1)    //ie
                {
                    obj.select();
                    return document.selection.createRange().text;
                }
                else if(window.navigator.userAgent.indexOf("Firefox")>=1)             //firefox
                {
                    if(obj.files)
                    {
                        return obj.files.item(0).getAsDataURL();
                    }
                    return obj.value;
                }
                return obj.value;
            }
        }
    </script> 
    <head>
    <body>
        <input type="file" onchange="document.getElementById('img').src=getFullPath(this);" />
    <img id="img" />
    </body>
</html>

좋은 웹페이지 즐겨찾기