2012-08-03 3 views
0

나는 html/javascript/ajax 클라이언트 측으로 자바 웹 서비스를 개발 중이다. 사용자가 로컬 엑셀 파일을 입력하고 서버 측에 보낼 수있는 방법이 있습니까?자바를 통해 자바로 파일을 엑셀 처리

보안 문제 (C :/fakepath)로 인해 파일의 경로를 가져올 수 없다는 것을 알고 있고, Ajax 요청을 통해 Excel 파일의 내용을 전달하는 것이 효과가없는 것 같습니다.

문제점의 해결책은 있습니까?

귀하의 HTML은 다음과 같이 표시됩니다 :

답변

0

사실 새 XMLHttpRequest 버전 2에서이 문제를 해결할 수있는 방법을 찾았습니다 .

자세한 내용은

의`input` 태그의 끝에서 this

0

당신은 일반적인 HTML 업로드 메커니즘을 사용하여 파일을 업로드 할 수 있습니다

<html> 
... 
Select a file to upload: <br /> 
<form action="UploadServlet" method="post" 
        enctype="multipart/form-data"> 
<input type="file" name="file" size="200" /> 
<br /> 
<input type="submit" value="Upload File" /> 
</form> 
... 
</body> 
</html> 

그리고 해당 JSP 코드는 업로드를 처리 할 수 ​​있습니다. 예 : here을 확인할 수 있습니다.

일단 서버에 Excel 파일이 있으면 원하는대로 처리 할 수 ​​있습니다. 나는 가정

0

당신은 HTML에서 <form><input> 태그, 예를 통해 파일을 업로드하는 방법을 알고 :

<form method="post" enctype="multipart/form-data" action="upload_script.php"> 
<input type="file" name="myfile" /> 
<input type="submit" value="Upload" /> 
</form> 
비동기 적으로이 일에 트릭이 <form> 태그에 <iframe>target 속성을 사용하는 것입니다

예 :

<form method="post" enctype="multipart/form-data" action="upload_script.php" target="myiframe"> 
<input type="file" name="myfile" /> 
<input type="submit" value="Upload" /> 
</form> 

<iframe name="myiframe"></iframe> 

프레임의 크기를 0x0 픽셀로 만들 수 있으므로 사용자가 프레임을 인식하지 못합니다. 양식이 제출되면 iframe은 스크립트 페이지를로드합니다. 자바 스크립트는 업로드가 성공했는지 실패했는지를 나타 내기 위해 부모 프레임 (예 : 원래 창)으로 콜백하는 데 사용할 수 있습니다.

+0

이되어야 할 '/'를 참조? ''? –

+0

@RyanAmos. HTML 버전에 따라 다릅니다 (예 : http://www.w3.org/TR/html401/interact/forms.html#h-17.4 참조). 하지만 지금은 더 좋고 평범하기 때문에 추가했습니다. –

관련 문제