itextsharp - сохранение файла на удаленном сервере - PullRequest
0 голосов
/ 01 июня 2018

как я могу сохранить файл .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 голосов
/ 01 июня 2018

Вероятно, единственным отличием будет ваша аутентификация на сервере перед сохранением любого файла.

Самый простой способ сделать это - использовать "Олицетворение пользователя".

Установить его вваше приложение

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

Install-Package UserImpersonation -Version 1.0.0

A Быстрый пример с "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));
   }
}
0 голосов
/ 01 июня 2018

Подтвердите, что вы можете просмотреть место, которое вы хотите сохранить.Затем обновите ваш код

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));
}

Как уже упоминалось в комментариях, когда вы используете @, вам не нужно экранировать свои.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...