2016-08-02 6 views
0

이것은 무의미한 것처럼 보일 수 있지만 JavaScript로 코딩하는 방법은 무엇입니까? 내 PC에서 브라우저로 이미지를 업로드 한 다음 다시 저장하고 싶습니다. 다른 위치에있는 PC.브라우저에서 파일을 업로드하고 하드 드라이브에 다시 저장하십시오.

+0

이 보안 제약으로 인해 웹 페이지에서 작동하지 않습니다 .click(). 일부 브라우저 또는 브라우저 확장을 사용하여 근사값을 구할 수 있지만 솔루션은 이식 가능하지 않습니다. 사용자가 할 수있는 최선책은 사용자가 파일을 다시 다운로드하고 저장 위치를 ​​선택할 수 있도록 허용하는 것입니다. – Owen

+0

"내 PC에서 내 브라우저로 이미지 업로드"를 수행하지 마십시오. 브라우저가 이미 PC에 있습니다. 내 PC에서 브라우저를 통해 서버로 이미지를 업로드 하시겠습니까? 이 경우 업로드 한 다음 다시 다운로드하면됩니다. 브라우저에서 PC의 파일을 읽고 쓰는 것과 관련된 일을하는 것이라면 그렇게 할 수 없습니다. –

+0

@torazaburo 기술적으로 'requestFileSystem'을 사용하여 크롬, 크롬에서 가능합니다. http://stackoverflow.com/questions/36098129/how-to-write-in-file-user-directory-using-javascript – guest271314

답변

2

당신은 <input type="file"> 요소 change 이벤트, URL.createObjectURL(), <a> 요소 download 속성을 사용할 수 있습니다

<input type="file" /> 
 
<script> 
 
    document.querySelector("input[type=file]") 
 
    .addEventListener("change", function(e) { 
 
     var a = document.createElement("a"); 
 
     a.href = URL.createObjectURL(e.target.files[0]); 
 
     a.download = e.target.files[0].name; 
 
     document.body.appendChild(a); 
 
     a.click(); 
 
     document.body.removeChild(a); 
 
    }) 
 
</script>

+0

감사합니다. 파일을 저장할 위치를 설정할 수 있습니까? – Josh

+0

@Josh _ "파일을 저장할 위치를 설정할 수 있습니까?"_ 아니요. 'javascript'를 사용하지 않습니다. 사용자 작업은 파일을 저장해야하는 사용자 파일 시스템에서 위치를 선택해야합니다. – guest271314

관련 문제