我现在正在处理的 Internet 应用程序遇到问题(用 C# 编程)。

我必须创建一个报告,然后通过电子邮件将其发送给某个用户。创建报告后,我首先将其保存到一个临时文件中,然后将其附加到提供文件路径的电子邮件中。

它在我的计算机上运行,​​因为我拥有管理员权限,但它不适用于我的计算机上没有管理员权限的同事。

我使用的文件路径是:

string filePath = Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.InternetCache),
    fileName
);

是否有任何不需要管理员权限的临时存储库?

谢谢。

最佳答案

如果您在 .Net 中使用内置邮件类,那么您真的没有理由需要将附件写入文件,除非生成报告的任何内容需要它。

这会起作用,假设您的报告生成器不需要文件输出并且可以只返回字节。

            SmtpClient smtpClient = new SmtpClient(); //do whatever else you need to do here to configure this
            byte[] report = GetReport();//whatever your report generator is
            MailMessage m = new MailMessage();
            //add your other mail fields (body, to, cc, subject etc)
            using (MemoryStream stream = new MemoryStream(report))
            {
                m.Attachments.Add(new Attachment(stream,"reportfile.xls"));//just guessing, use the right filename for your attachment type
                smtpClient.Send(m);  //note that we send INSIDE this using block, because it will not actually read the stream until you send
                                     //and you want to make sure not to dispose the stream before it reads it
            }

关于c# - 我可以在没有管理员权限的情况下保存到哪个存储库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6876557/

10-10 19:53