0

请注意,我找到了一个实际上对我来说效果更好的工作。那就是使用字节流和解码而不是保存。因此答案是不必要的,但我仍然会对人们的任何评论感兴趣。

路径中存在非法字符问题。我已经尝试过同一事物的许多不同版本,当然这只是我需要的一条路径,而且我很确定我知道它的样子!有人可以建议我可能做错了什么吗?

我正在使用http://hellowebapps.com/products/imapx/

连接和其他一切都很好!

代码:

            foreach (Message m in _imapClient.Folders["Football"].Messages)
            {
                m.Process();
                List<Attachment> attachment = m.Attachments;

                foreach (var a in attachment)
                {
                    a.SaveFile(@"C:\FileDrop\hello.csv");
                    //a.SaveFile(@"C:\FileDrop\");
                }
            }

堆栈跟踪:

System.ArgumentException:路径中有非法字符。在 System.IO.Path.CheckInvalidPathChars(String path) 在 System.IO.Path.GetFileName(String path) 在 System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access) 在 ImapX.Attachment.SaveFile(字符串下载位置)

4

2 回答 2

0

也许试试这个:

Path.GetFullPath()

于 2012-03-10T09:51:14.753 回答
0

似乎解决这个问题的唯一方法是直接从附件数据中获取字符串 - 使用Encoding.GetString()Convert.FromBase64String()

return _encoding.GetString(Convert.FromBase64String(contentStream));

然后正常保存文件:MSDN

于 2012-03-22T10:17:05.353 回答