안녕하세요, WSS WebServices를 사용하는이 업로드 방법의 다른 모든 버전과 마찬가지로 멋진 작은 조각이 있습니다. 한 가지 중요한 문제가 있습니다. 한 번 파일을 내 문서 목록에 업로드하고 목록 항목을 업데이트하여 설명/설명을 작성하면 해당 파일이 멈추게됩니다. 이 메서드는 업로드 한 파일을 덮어 쓰지 않습니다. 밖에서 아무도이 이슈를 아직 게시하지 않은 것 같습니다. 그렇다면 누구입니까?WebRequest를 사용하여 SharePoint WSS 3.0에 파일 업로드 PUT
스트림 대신 .. []을 사용하는 다른 버전의 메서드가 있습니다. 같은 문제가 있습니다.
참고 : 라이브러리에 대해 '문서를 편집하기 전에 체크 아웃해야합니다'옵션을 해제했습니다. 문서 라이브러리에는 각 버전마다 주요 버전이 만들어지면서 버전 관리 기능이 켜져 있습니다. 에
private void UploadStream(string fullPath, Stream uploadStream)
{
WebRequest request = WebRequest.Create(fullPath);
request.Credentials = CredentialCache.DefaultCredentials; // User must have 'Contributor' access to the document library
request.Method = "PUT";
request.Headers.Add("Overwrite", "t");
byte[] buffer = new byte[4096];
using (Stream stream = request.GetRequestStream())
{
for (int i = uploadStream.Read(buffer, 0, buffer.Length); i > 0; i = uploadStream.Read(buffer, 0, buffer.Length))
{
stream.Write(buffer, 0, i);
}
}
WebResponse response = request.GetResponse(); // Upload the file
response.Close();
}
원래 크레딧 : http://geek.hubkey.com/2007/10/upload-file-to-sharepoint-document.html
편집 - 주요 발견 .. 내 NUnit과 테스트 프로젝트에서 호출 할 때 잘 작동합니다. 내 WCF 응용 프로그램 (로그온 된 사용자 계정에서 실행중인 nUnit, WCF 응용 프로그램은 동일한 사용자 - 내 계정, SharePoint에서도 유효한 사용 권한을 가지고 실행중인 응용 프로그램 풀에서 실행 됨)에서만 호출하면 실패하는 것 같습니다.
견과류. "어디에서 시작해야할까요?!", 나는 나 자신에게 관심이있다.
무엇을 변경해야할지 모르지만 알 수 있습니다. 나는 효과없이이 문서 라이브러리에 대한 버전 관리를 해제하려고 시도했다. 또한 다른 항목 필드를 업데이트하는 두 번째 부분을 해제했습니다. 이제 SharePoint에서는 아무 일도 일어나지 않습니다. 그것은 결코 실행되지 않은 코드와 같습니다. 비록 내 눈으로 보았지만. – misteraidan