2009-07-07 3 views
1

누군가 이상한 (또는 정상적인) 동작을 설명 할 수 있습니까? WebDAV 디렉토리가 있습니다. 이 폴더에는 document.doc이라는 단어 문서가 있습니다.WebDAV/PHP - HTML 앵커에서 MS Word 문서를여시겠습니까?

Word를 연 다음 "파일 열기"를 선택하고 전체 URL 인 http://server/webdav/document.doc을 입력하면 Word에서 문서가 잘 열립니다. 변경 사항은 저장 클릭시 저장됩니다. 나는이 같은이 문서에 앵커가있는 HTML 페이지를 만들 때

지금, :

<a href="http://server/webdav/document.doc">Edit document</a> 

이 잘 문서를 열하지만 읽기 전용 모드로 열립니다 것이다!

조사 결과 Word를 사용하여 파일을 열면 WebDav 클라이언트로 작동한다는 것이 조사되었습니다. 그래서 적절한 헤더를 보내어 파일을 고정시킵니다. 앵커에서 호출하면 브라우저가 GET을 수행합니다. 그런 다음 문서 (다운로드 됨)를 Word로 전달합니다. Word는 파일에서 일부 HTTP 호출을하지만 LOCK은 수행하지 않습니다.

누구든지 어떻게 해결할 수 있습니까? HTTP 호출을 할 수있는 PHP 코드를 작성할 수는 있지만 어떻게 Word에서 가져올 수 있습니까?

+0

나는이 같은 문제로 어려움을 겪고 있습니다. 우리의 IE 클라이언트 ActiveX 우리의 자바 스크립트에서 사용하고 있습니다. 우리는 LOCK/UNLOCK/PROPFIND/etc 메서드가 지원되는 WebDav 서버를 구현할 수 있도록 데이터베이스에서 Word 파일을 제공하고 있습니다. 이것은 일하곤했으나 지금은 멈추었습니다. 그래서 우리에게 그렇게 혼란스럽고/힘들었습니다. –

답변

1

나는 이것이 가능할 것으로 기대하지 않습니다. 웹 브라우저를 통해 열면 임시 폴더에 저장된 사본을 먼저 다운로드 한 다음 단어로 넘깁니다. 당신이 찾고있는 것은 그 문서를 열어주는 것입니다. 따라서 당신이해야 할 일은 링크를 열고 단어를 매개 변수로 전달하는 것입니다. 매우 불쾌한 해킹은 php가 원하는 webdav-document를 열 수있는 단어로 읽을 수있는 파일을 생성하게하는 것입니다. 매크로를 사용하여이 작업을 수행 할 수 있지만, a) 단어로 된 매크로 보안 설정을 낮추고 b)이 작업을 수행 한 다른 사람에게 의존 할 수 없기 때문에 (따라서 사용자를위한 솔루션 일뿐입니다).

1

this을 참조하십시오. 기본적으로 Microsoft Sharepoint의 일부인 ActiveX 개체를 호출하는 Javascript를 사용합니다.

0

IIRC, Confluence (Atlassian)에는 브라우저에서 링크를 클릭하여 WebDav 모드의 Word에서 문서를 열 때 Firefox를위한 WebDav 추가 기능이 있습니다. 그러나 어떻게 완료되었는지는 알 수 없습니다.