这是我第一次使用 Sharepoint。这是场景
- 我有一个独立的 Web 应用程序
- 我也有一个独立的共享点服务器。
- 两者都在不同的服务器上。
- 我需要将文件从 Web 应用程序上传到共享点
网上找了2种方法
- 使用 Sharepoint 提供的网络服务(CopyIntoItems)
- 使用 Sharepoint webservice 的 jQuery 库
在网上搜索后,我认为 jQuery 部分不起作用(您可以纠正我)。
我正在寻找一种采用用户名/密码并将 pdf 文件上传到 Sharepoint 服务器的方法。以下是我尝试上传但最终出错的 C# 代码
public bool UploadFile(string file, string destination)
{
bool success = false;
CopySoapClient client = new CopySoapClient();
if (client.ClientCredentials != null)
client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
try
{
client.Open();
string filename = Path.GetFileName(file);
string destinationUrl = destination + filename;
string[] destinationUrls = { destinationUrl };
FieldInformation i1 = new FieldInformation { DisplayName = "Title", InternalName = "Title", Type = FieldType.Text, Value = filename };
FieldInformation[] info = { i1 };
CopyResult[] result;
byte[] data = File.ReadAllBytes(file);
//uint ret = client.CopyIntoItems(filename, destinationUrls, info, data, out result);
uint ret = client.CopyIntoItems(file, destinationUrls, info, data, out result);
if (result != null && result.Length > 0 && result[0].ErrorCode == 0)
success = true;
}
finally
{
if (client.State == System.ServiceModel.CommunicationState.Faulted)
client.Abort();
if (client.State != System.ServiceModel.CommunicationState.Closed)
client.Close();
}
return success;
}
我这样调用上面的函数
UploadFile(@"C:\temp\uploadFile.txt", "http://spf-03:300/demo/Dokumente").ToString();
我得到的错误:
错误代码:目的地无效
错误消息:必须在包含目标 URL 的同一域上调用服务方法“复制”。