2013-10-09 24 views
0

我使用EWS使用JScript(我知道,不推薦,但我別無選擇!)...ExchangeWebServices安裝荷重

我可以連接到我的Exchange服務器,登錄,檢索消息,並確定帶有文件附件的消息。現在我想在本地保存該附件。

我有:

for (x = 0; x < myMessages.Items.Count - 1; x++) 
    { 
    thisitem = myMessages.Items.get_Item(x); 
    if (thisitem.HasAttachments) 
    { 
     attachment = thisitem.Attachments.get_Item(0) 
     attachment.Load("c:\\temp.xls"); 

但這會產生一個錯誤:

mscorlib程序

System.ArgumentException:類型的對象 「System.String」 不能被轉換爲類型「System.IO .Stream「 ....

我知道附件是一個XLS ....並且它與Load方法的重載有關...但是,我很失望。

幫助?

回答

0

對於任何需要做這樣的事情,在我發現這工作結束(這是在的Jscript TestComplete - 修改,因爲你需要!):

if (thisitem.HasAttachments) 
    { 
    for (y = 0; y < thisitem.Attachments.Count; y++) 
    { 
     var attachment = thisitem.Attachments.get_Item(y); 
     if (attachment.get_IsInline() == false) 
     { 
     if (attachment.name.OleValue.indexOf(attachsuffix) == attachment.name.OleValue.length - attachsuffix.length) 
     { 
      attachment.Load(); 
      aqFileSystem.CreateFolder(targetfolder) 
      var filename = targetfolder + attachment.Name.OleValue 
      var fos = dotNET.System_IO.BinaryWriter.zctor(dotNET.System_IO.File.Open(filename, dotNET.System_IO.FileMode.Create)) 
      fos.write_3(attachment.content) 
      fos.Close(); 
      Log.Message("Saved: " + filename); 
     } 
     } 
    } 
    }