2

我正在使用 VS2010、C# 开发基于 Web 的(浏览器内)Silverlight 4 应用程序,我正在使用 IMAP 阅读电子邮件(当前为 gmail),我在 Silverlight 中使用 WCF 来访问 gmail 数据。一切正常,但我在下载附件时遇到问题,我可以在字节数组中获取电子邮件附件,使用 Response.Stream 或 File.WriteAllBytes(在 ASP.NET 页面中)保存这些字节没有问题。但是当我想将它们保存在我的 SL 应用程序中时,我遇到了两个问题:似乎我不能在我的 WCF 中使用 Response,而且 File.WriteAllBytes 也给了我这个错误:不允许文件操作,拒绝访问 myfilename。在我的 SL 应用程序中下载附件的选项有哪些?我应该将我的文件数据作为 byte[] 返回到 SL 应用程序还是应该将它们直接保存在 WCF 中?

我应该使用什么方法?回复?文件?或者别的,谢谢

4

1 回答 1

3

这是byte[]在 SL4 中保存到文件的方式:

    private void SaveFile(byte[] bytes)
    {
        SaveFileDialog saveDialog = new SaveFileDialog();
        saveDialog.DefaultExt = ".stuff";
        saveDialog.Filter = "Funky Stuff File|*.stuff|All Files|*.*";
        saveDialog.FilterIndex = 1;
        bool? dialogResult = saveDialog.ShowDialog();
        if (dialogResult == true)
        {
            using (Stream ms = (Stream)saveDialog.OpenFile())
            {
                ms.Write(bytes, 0, bytes.Length);
                ms.Close();
            }
        }
    }
于 2012-06-06T09:27:40.907 回答