2013-07-27 2 views
1

사용자가 파일을 선택할 수있게하려고합니다. 경로 위치는 JavaScript 문자열에 저장해야합니다. 나중에 유효성 검사를 한 후 PHP를 사용하여 서버에 파일을 업로드하기 위해 서버에 대한 아약스 호출을 만들고 싶습니다.양식을 제출하지 않고 입력란에서 파일 경로를 가져 오는 방법은 무엇입니까?

페이지가 다시로드되고 많은 sql 쿼리가 실행되고 서버에 불필요한로드가 발생하므로 직접 양식을 제출하고 싶지 않습니다.

<input type="file" id="files" name="files[]" multiple /> 
    <output id="list"></output> 

    <script> 
     function handleFileSelect(evt) { 
     var files = evt.target.files; // FileList object 

     // files is a FileList of File objects. List some properties. 
     var output = []; 
     for (var i = 0, f; f = files[i]; i++) { 
      alert(JSON.stringify(f)); 
      output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ', 
         f.size, ' bytes, last modified: ', 
         f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a', 
         '</li>'); 
     } 
     document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>'; 
     } 

     document.getElementById('files').addEventListener('change', handleFileSelect, false); 
    </script> 

이 경고는 세부 정보를 제공하지만 내가 원하는 경로는 제공하지 않습니다.

jQuery를 사용하여 아약스를 통해 문자열을 전달하고 PHP에서 move_uploaded_file을 사용하여 파일을 업로드 할 수 있도록 경로를 얻는 데 도움이되는 모든 도움말.

미리 감사드립니다.

+0

달성하려는 목표는 무엇입니까? AJAX를 통해 파일 업로드? AJAX를 통해 문자열을 전달할 수는 없으므로 실제로 파일을 업로드해야합니다. – putvande

+0

보안상의 이유로 브라우저가이를 반환하지 않습니다. 여기에서 답변을 찾을 수 있습니다. http://stackoverflow.com/questions/15201071/how-to-get-full-path-of-selected-file-on-change-of-input-type-file-using-jav – scraaappy

+1

@putvande 안녕하세요 선생님 내가 문자열로 파일 경로를 원하는 파일을 업로드 할 수있는 아약스 요청을합니다. 나는이 일을 할 수 있는지 전혀 모른다. – user2626445

답변

0

사용자가 선택한 시간에 값을 가져야합니다. 그것을 보관하고 그것을 필요로하는 곳으로 되돌려 놓기 만하면됩니다. 값을 얻기 위해 양식을 제출하기를 원하지 않으면 실제 양식을 계속하기 전에 값을 가져올 위치에서 선택/옵션 콤보를 포함 할 수 있습니다. 선택 없음 = 양식 없음 선택 = 양식이지만 아직 제출되지 않았습니다.

관련 문제