如何将.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));
}
答案 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));
}
}