Transfer PDF, Text file from one server to another server through code
We have a new requirement where we need to move the PDF file generated in one server and move it to another server
Create a new folder call Export in c drive and create text file to transfer in another server
After this try to execute this code, it will create sendTXTFile.bat file and execute it which will transfer in another server.
Static void UploadTxtFile(Args _args)
{
TextIo textIoFile;
Set permissionSet;
FileName filePath, filename;
FileName sharedLocation, batchFileName;
InteropPermission interopPerm;
System.Diagnostics.Process process;
System.Diagnostics.ProcessStartInfo processStartInfo;
System.Exception netException;
#File
filePath = 'c:\\Export'; //Create a Folder Export
sharedLocation = 'Location';
fileName = filePath + '\\Abdulmajeed.txt';//used Txt file to transfer
batchFileName = filePath + '\\sendTxtFile.bat';
try
{
if (System.IO.File::Exists(fileName))
{
permissionSet = new Set(Types::Class);
permissionSet.add(new FileIoPermission(batchFileName, #io_write));
CodeAccessPermission::assertMultiple(permissionSet);
textIoFile = new TextIo(batchFileName , #io_write, 0);
CodeAccessPermission::revertAssert();
textIoFile.write(strFmt("net use %1 PWDxxxxxx /user:UserName", sharedLocation));
textIoFile.write(strFmt("copy %1 %2", fileName ,sharedLocation));
textIoFile.write(strFmt("net use %1 /delete", sharedLocation));
textIoFile = null;
new InteropPermission(InteropKind::ClrInterop).assert();
process = new System.Diagnostics.Process();
processStartInfo = new System.Diagnostics.ProcessStartInfo();
processStartInfo.set_FileName(batchFileName);
processStartInfo.set_WorkingDirectory(filePath);
process.set_StartInfo(processStartInfo);
process.Start();
process.WaitForExit();
process.get_ExitCode();
CodeAccessPermission::revertAssert();
interopPerm = new InteropPermission(InteropKind::ClrInterop);
interopPerm.assert();
if (System.IO.File::Exists(batchFileName))
{
System.IO.File::Delete(batchFileName);
}
if (System.IO.File::Exists(fileName))
{
System.IO.File::Delete(fileName);
}
CodeAccessPermission::revertAssert();
}
else
{
throw error("File does not exist");
}
}
catch (Exception::CLRError)
{
netException = CLRInterop::getLastException();
throw error(netException.ToString());
}
}