嗨,我一直在玩与Sharepoint列表中的项目有关的文件。这个项目是一个文件,我做了改变,然后转换为PDF。我目前上传这个PDF文件,并用它替换原始文件。一切都到了那里似乎工作正常。但是,当我用新文件替换文件时,当它是文档文件时,我无法看到此文件的旧版本。如果这是不可能的,我已经赋予了灵活性来复制该项目,然后将旧文件替换为新文件。这样就有一个可用的原始文档文件和新版本。Sharepoint项目文件替换
我目前一直在玩item.CopyTo()试图复制的项目,但一直未成功。下面是我使用的替换TEH文件(和我工作的复制项目的代码)的代码:
string newFileName = Path.GetFileNameWithoutExtension(file.Name) + ".old.docx";
string url = item.Web.Url + "/" + Path.GetDirectoryName(item.Url) + "\\" + newFileName;
item.CopyTo(url); //This is where my code crashes...
using (BinaryReader binReader = new BinaryReader(File.Open(tempSavePath, FileMode.Open)))
{
byte[] fBin;
string fileName = Path.GetFileNameWithoutExtension(file.Name) + ".pdf";
file.CheckOut();
fBin = binReader.ReadBytes((int)binReader.BaseStream.Length);
item["Title"] = fileName;
file.SaveBinary(fBin);
file.MoveTo(Path.GetDirectoryName(item.Url) + "\\" + fileName, true);
file.Item["Nombre"] = fileName;
file.Update();
file.CheckIn("");
}
我得到的错误是:在指定的目标无法创建一个元素。请确保该目录存在,并且您拥有所需的权限。 (实际误差即时得到是西班牙语,所以我把它翻译,可能无法在英文显示的确切消息)
显示实际传达的信息(西班牙文):无SE puede CREAR未ELEMENTO EN EL DESTINO solicitado 。 Compruebe que la carpeta existe y que tiene permiso para editarla。
据我看来,权限不是问题,目录明显存在,因为这是目前的项目目录...如果有任何其他方式去关于此请随时张贴,因为这可能不是最好的解决方案...在此先感谢!
编辑
看来,该文件版本的文件,不过扩展仍是PDF任何想法如何,我可以使版本保持原来文件的扩展名?