C# 指定保存pdf文件asp.net的位置

C# 指定保存pdf文件asp.net的位置,c#,asp.net,pdf,directory,adobe,C#,Asp.net,Pdf,Directory,Adobe,下面是我生成一个示例PDF文件的代码。但是,server.mappath方法将文件保存在项目文件夹中。如何允许PDF文件保存在我自己的桌面上 protected void btnPDF_Click(object sender, EventArgs e) { var document = new Document(PageSize.A4, 50, 50, 25, 25); var filename = DDLCase.SelectedItem.Text

下面是我生成一个示例PDF文件的代码。但是,server.mappath方法将文件保存在项目文件夹中。如何允许PDF文件保存在我自己的桌面上

protected void btnPDF_Click(object sender, EventArgs e)
    {


        var document = new Document(PageSize.A4, 50, 50, 25, 25);
        var filename = DDLCase.SelectedItem.Text + ".pdf";
        var output = new FileStream(Server.MapPath(filename), FileMode.Create);
        var writer = PdfWriter.GetInstance(document, output);
        document.Open();
        var welcomeParagraph = new Paragraph("Test1");
        document.Add(welcomeParagraph);
        document.Close();
        btnPDF.Enabled= false;
    }

现在还不清楚您的问题是什么,因为用其他位置替换
Server.MapPath(filename)
应该非常简单

一个有用的功能是,您可以正确构建文件的路径:

   var output = new FileStream(Path.Combine("c:\\myPDF\\", filename), FileMode.Create);
请注意,要正确完成,您计划存储文件的服务器上的文件夹必须具有足够的权限,以允许ASP.Net进程将文件保存在该文件夹中。如果将Windows auth与模拟一起使用,则会变得更加棘手,因为在请求期间运行的帐户代码将是传入用户的帐户。

请尝试此操作

   public string CommonFileSave(HttpPostedFileBase postedFile, string filePath)       
   {
        string resultResponse = "sccuess";

        if (!Directory.Exists(filePath))
        {
            Directory.CreateDirectory(filePath);
            postedFile.SaveAs(filePath + postedFile.FileName);
        }
        else
        {
            filePath = filePath + postedFile.FileName;
            if (!System.IO.File.Exists(filePath))
            {
                postedFile.SaveAs(filePath);
            }
        }
        return resultResponse;
    }

“保存在桌面”-为什么您认为服务器上的位置比任何其他位置都好(加上某些帐户可能没有正确填充“桌面”)。。。还是要在浏览器中创建“保存”对话框?或者要使用服务器端代码保存到用户计算机上的桌面?请尝试使用
string fileName=Path.Combine(@“C:\Users\username\desktop”,fileName)
或尝试使用
VirtualPathUtility
@AlexeiLevenkov实际上,我目前正在本地主机上试用PDF文件的基础知识。所以,我只是想找出一种方法,将PDF文件保存在用户计算机上任何位置的桌面上。。。还是我错过了什么?要回答“指定桌面位置”的问题,您需要指定应该使用哪个用户帐户来查找桌面文件夹(当前?某个进程在?您的?下运行?)。从我的代码中可以看到,我的PDF文件是在我的项目文件中自动生成的。我正在尝试询问是否有其他方法可以将我的PDF文件保存到其他位置。它可能不一定是在桌面上,对你来说可能很简单,但对我来说则不然,因为我只是一个仍在努力学习和探索asp.net、c#和pdf的学生。但无论如何,我必须感谢你的帮助。我已经添加了我的桌面目录“C:\Users\apr12mpsip\desktop”,但是我有这个错误,比如“无法识别的转义序列”。我直接从我的窗口资源管理器复制文件目录。@ TeoCuunWiBray-学习使用搜索引擎是很重要的-(也请考虑阅读基本的C类型,如<代码> String < /代码>,以及如何表示字符串文字)。