我的Web应用程序希望将文件作为附件发送到电子邮件。这是相当可行的;我所要做的就是指定文件的路径。但在发送文件之前,系统必须创建文件 - 它是一个呈现的报告。重要的不是保存在哪里,因为它将在附件中。既然如此,我无法弄清楚如何编写这个文件。它在我的本地主机上运行,但不在我公司的开发服务器上运行时运行。错误消息是500个;不具说明性和未知的。在ASP.Net中创建文件
这是当用户点击一个按钮,生成将通过电子邮件获取她的老板一份报告,蒸腾作用的事件处理程序的一部分:
在此代码段,分机是一些变量三个字母的文件扩展名和内容内容是在ReportExecutionService对象上执行Render的返回值:
var rptPath = HttpContext.Current.Server.MapPath(string.Format("Report.{0}", ext));
//using (var fs = new FileStream(rptPath, FileMode.OpenOrCreate, FileAccess.Write))
using (var fs = File.Create(rptPath))
{
fs.Write(content, 0, content.Length);
}
...此时它引发异常。我通过右键单击开发服务器的文件系统并放宽对该帐户的权限来授予NetworkService帐户写入权限。我还放宽了在开发服务器上托管Web应用程序的IIS 6的安全性。还有什么需要做的?我只是想将.pdf文件吐到根网站目录。
如果你报告了确切的例外,它会更有用。 – 2009-08-29 12:28:50
该应用程序被埋在Ajax中,除了一个黄色的Javascript错误三角形表示未知的错误500发生以外,没有明确的例外。 – JonathanWolfson 2009-08-30 11:59:09