копировать файлы между серверами asp.net mvc - PullRequest
0 голосов
/ 17 марта 2010

Я использую asp.net, c #, MVC и nHibernate и пытаюсь загрузить файл с локального компьютера на сервер и скопировать его на другой сервер. Я смог загрузить файл на сервер и скопировать файл из одной папки в другую папку на том же сервере без каких-либо проблем. Но как я могу скопировать файл с одного сервера на другой сервер. Перейдите по ссылке, чтобы узнать, как скопировать файл из одной папки в другую на том же сервере. Нажмите, чтобы увидеть мой ответ на вопрос о загрузке файла. [Ищите ответ по kalyan]

Пожалуйста, помогите. Спасибо.

Ответы [ 2 ]

0 голосов
/ 17 марта 2010

Наконец-то я понял это ... вот хороший код для моей собственной проблемы.
Примечание: (часть, которую я пропустил раньше ...) Перед тем, как что-то делать, у вас должен быть FTP-сайт. Итак, из IIS (на сервере) создайте FTP-сайт и укажите корневой каталог в папке, которую вы хотите загрузить или загрузить, и вручную измените имя пользователя и пароль (мой: имя пользователя: администратор, пароль: sweet123) из свойств сайта при необходимости. (шаги очень просты, вы можете легко понять, как только вы начнете создавать FTP-сайт). Я предполагаю, что у вас есть готовый FTP-сайт. Теперь допустим, что URL-адрес ftp: //10.2.1.111/Images/.
И не забудьте добавить System.Net и System.IO в ваше пространство имен.
теперь из вашего кода.

        string CompleteDPath = "";
            CompleteDPath = "ftp://10.2.1.111/Images/";


            string UName = "";
            string PWD = "";
            UName = "administrator";
            PWD = "sweet123";


            WebRequest reqObj = WebRequest.Create(CompleteDPath + fname);
            reqObj.Method = WebRequestMethods.Ftp.UploadFile;
            reqObj.Credentials = new NetworkCredential(UName, PWD);
            FileStream streamObj = System.IO.File.OpenRead(_FULLlocalpathofthefile + fname);
            byte[] buffer = new byte[streamObj.Length + 1];
            streamObj.Read(buffer, 0, buffer.Length);
            streamObj.Close();
            streamObj = null;
            reqObj.GetRequestStream().Write(buffer, 0, buffer.Length);
            reqObj = null;
0 голосов
/ 17 марта 2010

Единственный способ, которым я думаю, это будет работать, если вы FTP на второй сервер с вашего первого сервера.

Вы можете использовать библиотеки System.Net.FtpWebRequest и System.Net.FtpWebResponse

...