2012-03-30 20 views
1

Visual Studio 2010を使用してSharePoint 2010 Webサービスを使用しようとしています。認証されたユーザーのみにアクセスできるドキュメントライブラリのすべてのファイルをダウンロードします。私が見つけたチュートリアルはありませんでした。誰かが私を助けることができますか?Sharepoint 2010ビジュアルスタジオ2010 Webサービス

答えて

4

このコードを試してください:以下の機能を試してください。

(注:この機能では、ダウンロードするドキュメントの完全なURLとともに資格情報を渡す必要があります(この機能には、ダウンロードするファイルの完全なURLとともに、FileURLを渡す必要があります)

public string DownLoadfiletolocal(string FileURL, string Title) 
{ 

//Copy.Copy is a webservice object that I consumed. 

Copy.Copy CopyObj = new Copy.Copy(); 
CopyObj.Url = SiteURL + "/_vti_bin/copy.asmx"; // Dynamically passing SiteURL 
NetworkCredential nc2 = new NetworkCredential(); 
nc2.Domain = string.Empty; 
nc2.UserName = _UserName; 
nc2.Password = _Password; 


string copySource = FileURL; //Pass full url for document. 

Copy.FieldInformation myFieldInfo = new Copy.FieldInformation(); 
Copy.FieldInformation[] myFieldInfoArray = { myFieldInfo }; 
byte[] myByteArray; 

// Call the web service 
uint myGetUint = CopyObj.GetItem(copySource, out myFieldInfoArray, out myByteArray); 

// Convert into Base64 String 
string base64String; 
base64String = Convert.ToBase64String(myByteArray, 0, myByteArray.Length); 

// Convert to binary array 
byte[] binaryData = Convert.FromBase64String(base64String); 

// Create a temporary file to write the text of the form to 
string tempFileName = Path.GetTempPath() + "\\" + Title; 

// Write the file to temp folder 
FileStream fs = new FileStream(tempFileName, FileMode.Create, FileAccess.ReadWrite); 
fs.Write(binaryData, 0, binaryData.Length); 
fs.Close(); 

return tempFileName; 

} 
+0

ありがとう、私は既にドキュメントライブラリ内のドキュメントのリストを取得することができますあなたのコードを使用します。 – float

+0

私はcopy.asmxサービスにサービス参照を追加しましたが、コピーインターフェイスはありません。 CopySoapのみ。 – float

+1

Web Referenceを使用するサービスに追加されていないこのサービスを追加する –

関連する問題