我正在使用JScript的EWS (我知道,不推荐,但我别无选择!)...
我可以连接到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方法的重载有关。但除此之外,我迷失了方向。
帮忙?!
发布于 2013-10-10 18:05:11
对于任何需要这样做的人,最后我发现这是有效的(这是TestComplete中的Jscript -根据需要进行修改!):
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);
}
}
}
}https://stackoverflow.com/questions/19272594
复制相似问题