跨服务器存放文件(1)

 1 public class DataExtractor
 2     {
 3         static DMSLogger logger = new DMSLogger("C:\\AcctrueSaveXmlToRemoteLogs", "PDM");
 4         /// <summary>
 5         /// 将xml文件保存到文件服务器
 6         /// </summary>
 7         /// <param name="RemoteDirTo">共享目录</param>
 8         /// <param name="RemoteDirTo">共享目录子目录</param>
 9         /// <param name="RemoteDirToUser">共享目录服务器用户</param>
10         /// <param name="RemoteDirToPwd">共享目录服务器密码</param>
11         /// <param name="RemoteDirFrom">本地文件</param>
12         /// <param name="RemoteDirFromUser">本地用户</param>
13         /// <param name="RemoteDirFromPwd">本地密码</param>
14         public static void SaveXmlToFileService(string RemoteDirTo, string FilePathTo, string RemoteDirToUser, string RemoteDirToPwd, string file, string RemoteDirFrom, string RemoteDirFromUser, string RemoteDirFromPwd)
15         {
16             try
17             {
18                 Reconnect(RemoteDirFrom, RemoteDirFromUser, RemoteDirFromPwd);
19                 Reconnect(RemoteDirTo, RemoteDirToUser, RemoteDirToPwd);
20                 if (!Directory.Exists(FilePathTo))
21                 {
22                     try
23                     {
24                         Directory.CreateDirectory(FilePathTo);
25                         logger.WriteDebug("创建目录[" + FilePathTo + "]");
26                     }
27                     catch (Exception ex)
28                     {
29                         throw new Exception("[创建目录[" + FilePathTo + "]失败:]" + ex.Message);
30                     }
31                 }
32
33                 if (File.Exists(file))
34                 {
35                     logger.WriteDebug("开始将文件[" + file + "]保存到[" + FilePathTo + "]");
36                     File.Copy(file, FilePathTo + "\\" + Path.GetFileName(file), true);
37                     logger.WriteDebug("保存文件[" + Path.GetFileName(file) + "]到[" + FilePathTo + "]成功");
38                 }
39                 else
40                 {
41                     logger.WriteDebug("文件[" + file + "]不存在");
42                 }
43                 //File.Delete(file);
44             }
45             catch (Exception ex)
46             {
47                 logger.WriteException("保存Xml文件到文件服务器失败", ex);
48                 throw new Exception("保存xml文件到文件服务器失败:" + ex.Message);
49             }
50         }
51
52
53         public static void Reconnect(string connectRemotePath, string user, string pwd)
54         {
55             try
56             {
57                 if (connectRemotePath.EndsWith("\\"))
58                     connectRemotePath = connectRemotePath.Substring(0, connectRemotePath.Length - 1);
59                 System.Diagnostics.Process p = new System.Diagnostics.Process();
60                 p.StartInfo.FileName = "CMD.exe";
61                 p.StartInfo.Arguments = "   /c   net   use   \"" + connectRemotePath + "\"   /user:\"" + user + "\"   " + pwd;
62                 p.StartInfo.RedirectStandardOutput = true;
63                 p.StartInfo.RedirectStandardInput = true;
64                 p.StartInfo.UseShellExecute = false;
65                 p.StartInfo.CreateNoWindow = true;
66                 p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
67                 //p.StandardInput.Write(@"net   use   " + connectRemotePath + "/user:" + user + "   " + pwd + " /PERSISTENT:YES");
68                 //p.StandardInput.WriteLine("exit");
69                 p.Start();
70                 p.WaitForExit(1000);
71                 p.Close();
72                 p.Dispose();
73                 logger.WriteDebug("服务器用户[" + user + "]连接成功");
74             }
75             catch (Exception ex)
76             {
77                 throw new Exception("访问共享目录出错:" + ex.Message);
78             }
79         }
80     }
时间: 2024-12-20 05:24:59

跨服务器存放文件(1)的相关文章

cwRsync window下的跨服务器的文件同步

cwRsync 是window下的文件同步软件,可以跨服务器运行,第一次运行的时候是全部备份同步,之后的同步采用的是增量同步 这个软件分为服务端和客户端. 服务器是需要同步的文件源, 客户端相当于是备份的服务器. window下软件的安装,没什么需要注意的,服务端的安装中间有一个步骤是输入用户名和密码,这个地方需要修改,并自己记录. 服务端安装成功后,会有一个window服务,记得手动启动. 1.服务端的操作 首先打开安装目录中的rsyncd.conf文件,这是唯一关键的设置. use chro

跨服务器复制文件

先说下常用的情况: 两台机器IP分别为:A.104.238.161.75,B.43.224.34.73. 在A服务器上操作,将B服务器上/home/lk/目录下所有的文件全部复制到本地的/root目录下,命令为:scp -r [email protected]:/home/lk /root. 具体过程为: [[email protected] ~]# scp -r [email protected]:/home/lk /root [email protected]'s password: k2.

scp命令详解—跨服务器复制文件

scp在跨机器复制的时候为了提高数据的安全性,使用了ssh连接和加密方式,如果机器之间配置了ssh免密码登录,那在使用scp的时候密码都不用输入. 在服务器104.238.161.75上操作,将服务器104.238.161.75上/home/lk/目录下所有的文件全部复制到43.224.34.73的/root目录下,命令为:scp -r /home/lk [email protected]:/root(注意:IP与路径直接加冒号). 命令详解: scp是secure copy的简写,用于在Lin

跨服务器上传文件方式

跨服务器上传文件的方式有很多,其中一种是使用在中间服务器上使用临时文件的方式进行保存后再发送到另一个服务器上,实现文件上传. 问题点:中间保存临时文件,还需要不定时的进行文件清理,比较麻烦 直接进行文件的转发,使用byte[]数组方式直接进行文件转发,然后,服务器根据传递的byte[]数组进行转文件方式,使用httpclient方式将byte[]数组发送到服务端,特别注意的点在于, 发送的时候使用"content-type" = "application/json"

ASP.NET跨服务器上传文件的相关解决方案

第一种:通过FTP来上传文件 首先,在另外一台服务器上设置好FTP服务,并创建好允许上传的用户和密码,然后,在ASP.NET里就可以直接将文件上传到这台 FTP 服务器上了.代码如下: <%@ Page Language="C#" EnableViewState="false"%> <%@ Import Namespace="System.Net" %><%@ Import Namespace="Syste

前后端分离跨服务器文件上传-Java SpringMVC版

近来工作上不上特别忙,加上对后台java了解一点,所以就抽时间,写了一个java版本的前后端分离的跨服务器文件上传功能,包括前后端代码. 一.Tomcat服务器部分 1.Tomcat服务器 单独复制一份Tomcat,用来作为文件服务器 1.1 xml文件: 需要在该Tomcat的conf目录下的web.xml文件的大概100行添加如下部分: 1.2 server.xml文件: 需要在该Tomcat的conf目录下的server.xml文件做一些端口的修改 1.3 Tomcat下建立文件夹 在该T

关于nutz跨服务器上传文件

发布于 578天前  作者 yong9664  770 次浏览  复制  上一个帖子  下一个帖子 标签: 无 是这样的,项目在一台服务器,文件要存储到另外一台服务器.项目中功能使用form表单上传 @At @AdaptBy(type = UploadAdaptor.class, args = { "${app.root}/WEB-INF/tmp" }) public String add(@Param("upload_file")TempFile f, HttpS

springmvc中Tomcat跨服务器上传中文名文件报错解决方案

今天花了一整天时间解决tomcat跨服务器上传文件失败的问题,经过各种搜索终于解决了,下面是解决具体方法: 一.首先修改Tomcat的只读属性为false. 在tomcat的conf目录下的web.xml文件中找到<servlet>标签,添加初始化参数readonly,代码如下: <servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.se

idea 内置tomcat jersey 跨服务器 上传文件报400错误

报错内容 com.sun.jersey.api.client.UniformInterfaceException: PUT http://.jpg returned a response status of 400 Bad Request 因为跨服务器上传文件,文件名中里面含有中文名称,所以报错,解决: 让文件服务器支持utf-8编码或者将文件名变成英文.(最好的就是根据时间加随机数 或者是UUID来命名) 简单版的jsersey上传 @RequestMapping("/fileupload3&