2009-05-27 5 views
0

XML 파일을위한 디지털 서명을 생성하는 자바 함수가 있습니다. 다음은 나에게 몇 가지 문제를주고 발췌 한 것입니다 :아파치 서버에 파일 업로드하기

String boundary = MultiPartFormOutputStream.createBoundary(); 
HttpURLConnection urlConn = (HttpURLConnection)MultiPartFormOutputStream.createConnection(new URL(url + "/sign")); 
urlConn.setRequestProperty("Accept", "*/*"); 
urlConn.setRequestProperty("Content-Type", MultiPartFormOutputStream.getContentType(boundary)); 
urlConn.setRequestProperty("Cache-Control", "no-cache"); 
urlConn.setDOInput(true); 
urlConn.setDoOutput(true); 

MultiPartFOrmOutputStream up = new MultiPartFormOutputStream(urlCOnn.getOutputStream(), boundary); 
up.writeField(SignServletParams.detachedParam, "1"); 
up.writeFile(SignServletParams.xmlParam, "text/xml", "xml_file.xml", XMLUtil.toEncodedStream(doc); 
up.close(); 

Document ret = null; 
String connRead = ""; 
BufferedReader down = new BufferedReader(new InputStreamReader(urlCOnn.getINputStream())); 

나는 시도하고 XML 파일이 큰 경우 (수천 노드가있는), 내가 어디 IOException를 얻을, 그것은하지만, 잘 작동 작은 XML 파일을 업로드하는 경우 BufferedReader가 작성 중입니다. 예외 메시지는 서버가 500 상태를 리턴했다는 것을 나타냅니다. 나는 아파치 서버 로그를 확인하고 다음과 같은보고 :

입력 필터 : 임시 파일을 작성하는 데 실패 : "파일 이름"내가 쓴 다른 사람에서이 코드를 상속 한

을, 그래서 난 여전히 모든 것을 함께 모으려고 시도하지만, 작은 파일에 대해 기능이 작동하고 큰 파일에 대해서는 실패하는 이유에 대한 통찰력은 인정 될 것입니다.

+0

그래서 XML을 보내는 자바 클라이언트이고 아파치가 처리합니까? 그림에 PHP가 있습니까? – lucas

답변

0

요하네스 제안에 감사드립니다. 그러나 문제가 무엇인지 알았고 매우 어리 석습니다. mod_security 설정 파일에 지정된 임시 파일 생성을위한 디렉토리가 존재하지 않는 것으로 나타났습니다. 그것을 실제 디렉토리 경로로 변경하면 모든 것이 수정되었습니다.

0

나는 이것이 멍청한 대답인데 미안하지만 "업 로더 측"에서 필요한 경우 파일을 분할하여 "서버 측"에서 다시 병합 할 수 있습니까?

관련 문제