我目前正在开发一个Outlook Addin,可以在线保存电子邮件到sharepoint, 但在保存之前我需要检查一个同名的文件是否已经存在,这样就不会覆盖任何东西,这里是保存文件的方法:
{
currExplorer = OutlookApp.ActiveExplorer();
selection = currExplorer.Selection;
if (selection != null)
{
SharePointHelper spHelper = new SharePointHelper("LoginName", "Password", "Url/FolderDirectory");
if (selection.Count > 0)
{
for (int i = 1; i <= selection.Count; i++)
{
var item = selection[i] as Outlook.MailItem;
if (item == null)
continue;
// Check for attachments and save
currMail = item;
string fileName = String.Format("{0} - {1}.msg", SafeFileName(currMail.SenderName), SafeFileName(currMail.Subject));
string filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), fileName);
currMail.SaveAs(filePath, Outlook.OlSaveAsType.olMSG);
System.Net.HttpStatusCode status = spHelper.UploadFile(filePath, fileName);
if (status != System.Net.HttpStatusCode.Created)
MessageBox.Show(fileName + " failed to upload.");
}
}
}
}
因为我是初学者,所以缺乏如何去做的经验, 非常感谢您的帮助,谢谢大家!
答案 0 :(得分:1)
您可以使用System.IO.File.Exists(字符串路径)来确定它是否存在。 如果是,则可以更改其名称并测试新名称是否已存在,直到找到尚未使用的名称为止。
您可以在msdn:http://msdn.microsoft.com/en-us/library/system.io.file.exists.aspx
上查看文档答案 1 :(得分:0)
如果要检查SharePoint文件,可以查看使用Microsoft.SharePoint.Client.Web
和方法GetFileByServerRelativeUrl(string serverRelativeUrl)
GetFileByServerRelativeUrl
Getting sharepoint excel file from sharepoit libraries using Client object model in asp.net
将文件从库加载到对象后,可以进行!= null
检查,如果文件不为null,则可以更改文件名。
答案 2 :(得分:0)
使用System.IO.File.Exists(string path)