попробуйте создать его в папке, в которой находится проект
Как я понимаю ваш вопрос, вы хотите загрузить файл на другой удаленный сервер (так что это не другой сервер, расположенный в той же сети, что и ваш веб-сервер)? В этом случае вы можете сделать несколько разных вещей. Возможно, самый простой способ - начать с обычной загрузки файла на свой сервер, а затем попросить сервер отправить файл через FTP на другой удаленный сервер:
string fileName = Path.Combine("<path on your server", FileUpload1.FileName);
FileUpload1.SaveAs(fileName);
using(System.Net.WebClient webClient = new System.Net.WebClient())
{
webClient.UploadFile(
New Uri("ftp://remoteserver/remotepath/" + FileUpload1.FileName),
localFile);
}
... или это может сработать, выполнив один шаг:
using(System.Net.WebClient webClient = new System.Net.WebClient())
{
webClient.UploadData(
New Uri("ftp://remoteserver/remotepath/" + FileUpload1.FileName),
FileUpload1.FileBytes);
}
(я не пробовал этот код, поэтому в нем могли быть некоторые ошибки ...)
Обновление: я заметил, что был неправ, предполагая, что методы UploadXXX WebClient были статическими ...
Вы можете использовать класс WebClient
для сохранения загруженного файла на FTP (без сохранения его в виде файла на сервере). Примерно так:
string name = Path.GetFileName(UploadControl.FileName);
byte[] data = UploadControl.FileBytes;
using (WebClient client = new WebClient()) {
client.UploadData("ftp://my.ftp.server.com/myfolder/" + name, data);
}
Вы не можете загрузить его на FTP прямо из формы HTML. Однако вы можете загрузить его в свое приложение ASP.NET и затем загрузить его на FTP оттуда с помощью FtpWebRequest .
РЕДАКТИРОВАТЬ
Прежде всего, имеется знак @
, чтобы пометить строку как литерал. это избавляет вас от необходимости избегать таких символов, как обратная косая черта. например,
string path = "Z:\\Path\\To\\File.txt";
string path = @"Z:\Path\To\File.txt";
Во-вторых, если у вас есть только FTP-доступ к другому серверу, вы можете получить свойство FileUpload.FileBytes
элемента управления FileUpload. Это даст вам байт []
содержимого файла.
Отсюда вы используете System.Net.FtpWebRequest
и System.Net.FtpWebResponse
для загрузки вашего файла в учетную запись FTP.
Вот несколько примеров кода здесь в VB .NET, но вам должно быть достаточно легко разобраться
http://www.programmingforums.org/thread15954.html
ORIG
Элемент управления загрузкой файлов предоставит вам файл на вашем веб-сервере.
Это будет зависеть от вас, вы размещены на FTP.
У вас есть общий путь / подключенный диск UNC на другом сервере, который вы можете сохранить.
Элемент управления FileUpload имеет .SaveAs ()
метод, так что это просто вопрос
if (FileUpload1.HasFile)
try
{
FileUpload1.SaveAs(@"Z:\Path\On\Other\Server\" + FileUpload1.FileName);
}