2012-02-13 5 views
0

私は実際に私のために良い作品を見つけました。つまり、バイトストリームとデコードを使用するのではなく、まったく保存することです。したがって、答えは不可欠ではありませんが、私はまだ人々が持っているコメントに興味があります。imapXパス内の不正な文字チャンク

パス内の不正な文字に問題があります。私は同じことの多くの異なったバージョンを試しました、確かに私が必要とする道だけです、そして、私はかなり見えますか?誰かが私が間違っているかもしれないと示唆することはできますか

私は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の:パスに無効な文字。 ImapXで System.IO.FileStream..ctor(文字列パス、にFileModeモード、FileAccessの アクセス)で System.IO.Path.GetFileName(文字列のパス)で System.IO.Path.CheckInvalidPathChars(文字列のパス)で。 Attachment.SaveFile(文字列downloadLocation)

+0

も、この作品はありません! a.SaveFile(Directory.GetCurrentDirectory()); –

答えて

0

この問題を回避するためと思われる唯一の方法は、直接添付データから文字列を取得することです - Encoding.GetString()を使用してConvert.FromBase64String()

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

それからちょうど通常通りファイルを保存:MSDN

0

多分これを試してみてください。

Path.GetFullPath()

+0

こんにちはinsomnium、すぐにあなたの答えに気付かなかったの申し訳ありません。私はこれで運が無くなった。エラーメッセージが意味をなさないので、私は本当にソースコードを尋ねる必要があります。私は多くの経路を見てきましたが、これは違法に見えません!おそらくディレクトリパスだけが必要だと思っていましたが、無駄にしようとしました。 –

関連する問題