我正在开发一个app c#(winforms),可以从您的计算机打开一个xml文件,编辑它(删除节点,添加新节点并更改现有节点),当然还可以再次将它保存到您的计算机上。 / p>
将xml文件上传到我们网站中的sharepoint 2007库。 所以我想省去在PC上保存文件然后手动上传的麻烦。
有没有办法代替在本地打开文件,它可以从sharepoint库下载相同的文件并打开它进行编辑,然后将更改保存到库中的文件中?
使用Visual Studio Ultimate 2010,该应用程序正在使用.net 3.5
谢谢。
答案 0 :(得分:0)
这里有M$ demo app可以下载/上传文件到SP2007。最重要的部分:
下载:
using (SPSite site = new SPSite(txtSite.Text))
{
using (SPWeb web = site.OpenWeb())
{
SPFolder myLibrary = web.Folders[txtDocLib.Text];
foreach (SPFile file in myLibrary.Files)
{
if (file.Name == comboBox1.SelectedItem.ToString())
{
byte[] bytes = file.OpenBinary();
try
{
FileStream fs = new FileStream(dialog.FileName, FileMode.Create, FileAccess.ReadWrite);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(bytes);
bw.Close();
MessageBox.Show("File downloaded to: " + dialog.FileName);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
}
上载:
using (SPSite oSite = new SPSite(txtSite.Text))
{
using (SPWeb oWeb = oSite.OpenWeb())
{
SPFolder myLibrary = oWeb.Folders[txtDocLib.Text];
// Prepare to upload
Boolean replaceExistingFiles = true;
String fileName = System.IO.Path.GetFileName(txtSelectedFile.Text);
FileStream fileStream = File.OpenRead(txtSelectedFile.Text);
// Upload document
SPFile spfile = myLibrary.Files.Add(fileName, fileStream, replaceExistingFiles);
// Commit
myLibrary.Update();
}
}