C# FilePathResult提供临时文件夹中的文件,而不是提供的路径

C# FilePathResult提供临时文件夹中的文件,而不是提供的路径,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,使用PDFSharp,我已经创建了一个pdf文件并成功地保存在一个特定的文件夹中。然后,我想根据请求在浏览器上向用户提供此文件 return filePathResult = File(pdfFilePath, MimeMapping.GetMimeMapping(pdfFilePath), string.Format("{0}-data.pdf", userProfile.FullName)); 用户在浏览器

使用PDFSharp,我已经创建了一个pdf文件并成功地保存在一个特定的文件夹中。然后,我想根据请求在浏览器上向用户提供此文件

  return filePathResult = File(pdfFilePath,
                    MimeMapping.GetMimeMapping(pdfFilePath),
                    string.Format("{0}-data.pdf", userProfile.FullName));

用户在浏览器上获得“打开”或“保存文件”提示,但打开文件会带来一个pdf文件,该文件是在
/AppData/Local/Temp/data.pdf
中动态创建的,没有任何内容。我已经为此做了很多工作,但到目前为止,我还无法强制FilePathResult提供我创建的PDF文件,而不是在临时文件夹中创建一个文件并提供给用户。如何解决此问题?

我认为您不了解正在发生的事情或原因(或为浏览器提供文件服务的方式)。在浏览器中选择“保存文件”提示时会发生什么情况?什么是
FilePathResult
?@NetMage当我选择save file prompt时,一个同名的pdf文件(-data.pdf)保存在下载文件夹中。此pdf文件不包含任何内容。这是一个空白文件。但是,由PDFSharp生成并应该提供的PDF文件包含大量数据,应该从我定义的路径提供,而不是从Temp文件夹。该文件不是从
Temp
文件夹提供的,浏览器正在将其下载到
Temp
文件夹中-除非PDF查看器中的URL是
http://../AppData/Local/Temp/data.PDF
,否则您会遇到严重的服务器安全问题。@NetMage好的,PDF查看器中的URL是file:///C:/Users/P/AppData/Local/Temp/-data.pdf,所以我可能没有安全问题。因此,这对我来说是另一个谜,为什么复制到临时文件夹的文件与由PDFSharp生成和保存的文件不同?您需要显示更多代码来调试/分析它。您如何将文件提供给浏览器?您是否已验证在服务器上创建的文件是否正确且不为空?