itextsharp - 将文件保存到远程服务器

时间:2018-06-01 13:29:23

标签: c# itext

如何将.pdf文件保存到远程服务器?在代码部分下面要改变什么?

if (File.Exists(@"C:\\Users\\xxx\\xxx.pdf"))
{
    MessageBox.Show("xx.", "xx");
}
else
{
    Directory.CreateDirectory(@"C:\\Users\\xx);
    PdfWriter.GetInstance(pdfDosya, new FileStream(@"C:\\Users\\xx\\xx.pdf", FileMode.Create));
}

2 个答案:

答案 0 :(得分:0)

确认您可以查看要保存的地点。 然后更新您的代码

String serverLocation = @"\\servername\";

if (File.Exists(serverLocation +@"Users\xxx\xxx.pdf"))
{
    MessageBox.Show("xx.", "xx");
}
else
{
    Directory.CreateDirectory(serverLocation +@"Users\xx);
    PdfWriter.GetInstance(pdfDosya, new FileStream(serverLocation +@"Users\xx\xx.pdf", FileMode.Create));
}

正如评论中所提到的,当你使用@时,你不需要逃避你的。

答案 1 :(得分:0)

可能唯一的区别是您在保存任何文件之前对服务器进行身份验证。

最简单的方法是使用“User Impersonation”。

将其安装在您的应用程序中

  

https://www.nuget.org/packages/UserImpersonation/

     

Install-Package UserImpersonation -Version 1.0.0

“用户模拟DLL”的快速示例

using (UserImpersonation obj = new UserImpersonation("YourUserNameToAccessTheServer", "YourDomain", "UserPassword"))
{
   string YourDirectoryFullNameExample = "\\ServerName\\Folder1\\Folder2\\File.Pdf"
   if (File.Exists(YourDirectoryFullNameExample))
   {
      MessageBox.Show("xx.", "xx");
   }
   else
   {
      Directory.CreateDirectory(@"YourDirectoryFullNameExample);
      PdfWriter.GetInstance(pdfDosya, new FileStream(YourDirectoryFullNameExample, FileMode.Create));
   }
}