Сохранение вложения электронной почты в путь UNC - PullRequest
2 голосов
/ 08 декабря 2011

У меня есть следующий код в надстройке VSTO, которую я пишу для Outlook:

        savefolder = Regex.Replace(Guid.NewGuid().ToString(), @"[- ]", String.Empty);

        savepathfull = string.Format(@"{0}{1}", netloc, savefolder);
        DirectoryInfo di = new DirectoryInfo(@savepathfull);
        if (!(di.Exists))
            Directory.CreateDirectory(@savepathfull);



        removedFiles = new List<string>();

        for (int d = attachs.Count; d > 0; d--)
        {
            if (attachs[d].Size > smallAttachment)
            {
                removedFiles.Add(attachs[d].FileName);
                attachs[d].SaveAsFile(savepathfull);
            }
        }

Все работает нормально, пока я не пытаюсь сохранить вложение, после чего я получаю исключение UnauthorizedAccessException.Я знаю, что у моего тестового пользователя есть полные права на папку, но я все еще получаю эту ошибку.

Идеи?

Спасибо.

1 Ответ

6 голосов
/ 08 декабря 2011

При вызове Attachment.SaveAsFile необходимо указать правильное имя файла.Вы пытаетесь сохранить в каталог, а не в файл.См. MSDN для ссылочный код .

attachs[d].SaveAsFile(Path.Combine(savepathfull, attachs[d].DisplayName);
...