我现在正在处理的 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/