我的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