通過在Outlook消息存儲消息(的getItem對象)循環,並使用下面的代碼保存附件作爲文件:PDF Outlook電子郵件附件有時保存沒有權限
try
{
foreach (Outlook.Attachment attach in getItem.Attachments)
{
if (attach.FileName == sItemName)
{
string sSaveFile = Path.GetTempPath() + "Attachment" + sItemType;
if (System.IO.File.Exists(sSaveFile)) System.IO.File.Delete(sSaveFile);
attach.SaveAsFile(sSaveFile);
sContent = Common.GetFileContent2(sSaveFile);
}
}
}
catch (Exception Ex)
{
Common.LogError("GetUpdated", Ex, "Get text from Email attachment", "Error", false);
}
System.Runtime.InteropServices.Marshal.ReleaseComObject(getItem.Attachments);
我發現,所提取的PDF文件有時當另一個PDF文件出現時無法進行刪除。提取的PDF文件的文件權限無法在資源管理器中查看 - 屬性的「安全性」選項卡顯示「您必須具有讀取權限才能查看此對象的屬性」。常規屬性選項卡可以讀取OK。
我使用Outlook 2007在Windows 8.1
代碼中使用了什麼文件路徑?你是否以管理員權限運行Outlook? –
保存文件夾的路徑是用戶Temp目錄,它是C:\ User \ AppData \ Local \ Temp。我曾嘗試重新安裝Office,但沒有成功,正如其他人遇到類似問題所建議的那樣。 Outlook不具有任何特權。它被調用 'Outlook.Application myApp = new Outlook.Application(); Outlook.NameSpace mapiNameSpace = myApp.GetNamespace(「MAPI」);'。刪除文件失敗的情況下沒有可識別的模式,只發生在PDF上。大約90秒後,無許可證的PDFS消失 – SimonKravis
我在代碼中看不到什麼奇怪的東西。嘗試在另一臺PC上運行它。你有相同的結果嗎?你有問題的電腦上有任何防病毒軟件? –