2012-02-20 17 views
0

私は添付ファイルをメモリに読み込むことができますが、ファイル名を印刷することができます。私が必要なのは、この添付ファイルを後でsharepoint画像ライブラリに追加する画像オブジェクトに変換することです。しかし、私がそれを行う方法を知っている分け前の部分について忘れて、添付ファイルを読み込んだ後、どうやってこれを画像に変換するのかという部分にはまっています。私はディスクに画像を保存したくないのですが、私はすでにそれらをメモリにロードしていません。添付ファイルを画像に変換する

  foreach (Item item in findResults.Items) 
      { 
       if (item is EmailMessage && item.HasAttachments) 
       { 
        EmailMessage message = EmailMessage.Bind(service, item.Id, new PropertySet(BasePropertySet.IdOnly, ItemSchema.Attachments)); 
        foreach (Attachment attachment in message.Attachments) 
        { 
         if (attachment is FileAttachment) 
         { 
          FileAttachment fileAttachment = attachment as FileAttachment; 

          // Load the file attachment into memory and print out its file name. 
          fileAttachment.Load(); 
          Console.WriteLine("Attachment name: " + fileAttachment.Name); 
          //this is where i would create the image of object but dont know how 
         } 
        } 
       } 

      } 

答えて

0

すでにFileAttachmentオブジェクトがあり、そのプロパティの1つにアクセスすることさえできます。あなたは次のステップを踏み、Nameだけでなく、Contentにアクセスする必要があります。

if (attachment is FileAttachment) 
{ 
    FileAttachment fileAttachment = attachment as FileAttachment; 
    fileAttachment.Load(); 
    byte[] fileContent = fileAttachment.Content; 
} 

これは、attachemntsの内容をバイトの配列として提供します。私は、Sharepoint APIが受け取ろうとしているものは覚えていませんが、このバイト配列か簡単に構築できるものです。

+0

ありがとう、ちょうど私が必要とし、はい共有ポイントの画像ライブラリは、バイトの配列を受け取ります。お返事をありがとうございます! – rdk1992

+0

ようこそ。その答えをAcceptedとしてマークすることを忘れないでください。 :)ありがとう。 –

+0

私はhtmlagilitypack apiを使って電子メールからhtmlを解析しました。これは、電子メール内のすべてからsrc値を抽出するときに効果的です。問題は、メールに添付されてsrcに表示されている画像が、cid:companylogo、cid:forumlogoのように解析されていることです。アイデアは、私は共有ライブラリに添付ファイルの画像をアップロードした後、私はそのURLを取って、htmlのものと置き換えます。問題は、どのsrcを置き換えるべきかわからないことです。 Dunnoはなぜsrc = cid:forumlogoで、添付ファイル内のファイル名ではないのですか。何か案は? – rdk1992

関連する問題