2011-04-12 5 views
7

이 파일은 "file"input이며이 파일의 files 목록을 변경하고 싶습니다. 예 :파일 입력의 파일 목록을 변경하는 방법

<input type = "file" id = "fileinput" /> 
<script type = "text/javascript> 
    document.getElementById("fileinput").files = [10]; 
</script> 

문제는 fileinput 요소의 files 목록이 설정되어 있지 않은 것입니다. 어떻게해야합니까?

+0

수 없습니다. 명백한 보안상의 이유로 읽기 전용입니다. –

+0

그럼 여러 번의 클릭으로 여러 파일을 업로드하는 것을 허용 할 수 없습니까? – dave

+0

@dave HTML5에서는 여러 파일을 선택할 수 있지만 그 파일이 무엇인지는 여전히 결정할 수 없습니다. –

답변

14

보안상의 이유로 브라우저는 자바 스크립트가 업로드 할 파일을 변경하지 못하게합니다. 사용자 만 사용자 인터페이스를 통해 파일을 선택할 수 있습니다. 이것은 악의적 인 스크립트가 사용자가 알지 못하는 한 예로 /etc/passwd을 업로드하는 것을 방지하기위한 것입니다.

예외적으로 폼에서 "reset"을 호출하면 파일이나 파일 목록이 지워지지만 프로그래밍 방식으로 추가 할 수는 없습니다.

+4

그럼 여러 번 클릭 할 때 파일 입력 파일 목록에 더 많은 파일을 어떻게 추가합니까? – dave

+0

@odrm 로컬 * 실제 * 파일을 파일 목록에 추가 할 수는 없지만'File' 또는'Blob'을 추가해도 아무런 문제가 없습니다. 나는 그렇게하고 도움이 될 수있는 사용자 스크립트를 상상할 수 있습니다. –

+0

@ Tomáš Zato 프로그래밍 방식으로 작성되었거나 사용자로부터 도난당한 경우 브라우저가 파일의 출처를 알 수 있기 때문에 사용자가 할 수 있다고 생각하지 않습니다. – atas

-1

input 요소에 multiple 특성을 사용하고 싶습니다. 그렇게하면 최신 브라우저에서 사용자는 업로드 할 여러 파일을 선택할 수 있습니다.

관련 문제