嗨,我一直在玩與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任何想法如何,我可以使版本保持原來文件的擴展名?