ASP.NET MVC Acces被拒绝写入文件夹

时间:2017-04-21 11:16:42

标签: c# asp.net asp.net-mvc

我目前正在尝试下载生成的PDF。 C#代码没问题,我想但问题是它给了我一个错误:

Access to the path 'C:\temp' is denied.

我尝试通过

授予此文件夹的权限
right click -> properties -> security -> edit -> add

我找不到任何名为ASPNET的用户?所以我尝试添加NETWORKSERVICE IIS_IUSRS甚至All和Everyone都不起作用..

我在这里做错了什么?

代码:

public ActionResult GeneratePDF(WorkReportModel model)
{
    return File("C:\\temp", "application/pdf", "MyRenamedFile.pdf");
}

1 个答案:

答案 0 :(得分:2)

C:\ Temp是目录,因此您无法将其作为文件发送..... 我相信你的意思是这样的;

public ActionResult GeneratePDF(WorkReportModel model)
{
    return File("C:\\temp\\theActualFileName.pdf", "application/pdf", "MyRenamedFile.pdf");
}

请参阅文件方法的MSDN文档:

https://msdn.microsoft.com/en-us/library/system.web.mvc.controller.file(v=vs.118).aspx#M:System.Web.Mvc.Controller.File%28System.String,System.String,System.String%29

protected internal virtual FilePathResult File(
    string fileName,
    string contentType,
    string fileDownloadName
)
Parameters:

fileName Type: System.String
The path of the file to send to the response.

您正在将C:\ temp发送到FILE名称参数...