我真的很喜欢这个共享点的东西。我们有一个带有管理员帐户的共享点服务器,我通过ip和手动共享点端口从我的本地机器连接它。 Nut我需要编写一个程序,需要将文件从本地机器上传到服务器的共享点服务器。是否有可能使用winforms?或者只能在网络服务中使用。?
using (SPSite oSite = new SPSite(sharePointSite))
{
using (SPWeb oWeb = oSite.OpenWeb())
{
if (!System.IO.File.Exists(fileToUpload))
throw new FileNotFoundException("File not found.", fileToUpload);
SPFolder myLibrary = oWeb.Folders[documentLibraryName];
// Prepare to upload
Boolean replaceExistingFiles = true;
String fileName = System.IO.Path.GetFileName(fileToUpload);
FileStream fileStream = File.OpenRead(fileToUpload);
// Upload document
SPFile spfile = myLibrary.Files.Add(fileName, fileStream, replaceExistingFiles);
// Commit
myLibrary.Update();
}
}
尝试使用上面的代码,我从以下行获得错误
使用(SPSite oSite =新SPSite(sharePointSite))
,错误是
"找不到http://server:port/的Web应用程序。验证您是否正确输入了URL。如果URL应该为现有内容提供服务,则系统管理员可能需要将新请求URL映射添加到预期的应用程序"
我无法上传文件。 但是如果我在本地机器中复制并粘贴相同的URL,我就可以访问服务器中部署的sharepoint,甚至可以从本地机器上手动上传文件。
如何从与LAN连接的本地计算机上传sharepoint服务器中的文件。??
答案 0 :(得分:1)
siteURL =共享点的主要URl(例如)“http://10.0.0.14:48487/”;
documentListName = shrepoint中的任何文件夹(例如)共享文档
documentName =文件名称(例如)sampleword.docx,readme.txt等
documentStream =我们要上传的文件的字节格式。
(例如)byte [] bytefile = System.IO.File.ReadAllBytes(filepath + filename);
public static void UploadDocument(string siteURL, string documentListName, string documentListURL,string documentName, byte[] documentStream = null)
{
try
{
using (SP.ClientContext clientContext = new SP.ClientContext(siteURL))
{
#region"Only if you have credentials"
NetworkCredential Cred = new NetworkCredential("username", "password");
clientContext.Credentials = Cred;
#endregion
SP.List documentsList = clientContext.Web.Lists.GetByTitle(documentListName);
var fileCreationInformation = new SP.FileCreationInformation();
//Assign to content byte[] i.e. documentStream
fileCreationInformation.Content = documentStream;
//Allow owerwrite of document
fileCreationInformation.Overwrite = true;
//Upload URL
fileCreationInformation.Url = documentName;
Microsoft.SharePoint.Client.File uploadFile = documentsList.RootFolder.Files.Add(
fileCreationInformation);
uploadFile.ListItemAllFields.Update();
clientContext.ExecuteQuery();
}
}
catch (Exception ex)
{
}
}
}
这对我来说很完美:) :))
答案 1 :(得分:0)
确保您连接到现有网站集。您收到的错误非常自我解释,它无法找到您指向的网站集。检查字符串sharePointSite
以确保没有拼写错误并且它正在访问正确的根网站集。请记住,使用SharePoint SPSite =网站集SPWeb =网站集中的网站。
我无法在不运行任何内容的情况下看到代码中的任何明显错误,除非确保在您为网站集中的单个网站调用oSite.openweb()时。 / p>