Удаленный сервер возвратил ошибку 550 файл недоступен например не найден или к нему нет доступа

В данной статье описывается проблема, возникающая в службе FTP на компьютере под управлением Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Пакет обновления 1 (SP1) для Windows 7 или Windows Server 2008 R2 с пакетом обновления 1. Доступно исправление для решения этой проблемы. Исправление с условием.

Симптомы

Эта проблема возникает при попытке загрузить файл, пока выполняется запись файла, даже если файл был открыт в приложение, которое выполняет запись в файл, указав значение FILE_SHARE_READ для режим общего доступа. При возникновении этой проблемы не удается загрузить файл, и служба FTP возвращает сообщение об ошибке, подобное приведенному ниже:


550 процесс файл недоступен, поскольку он используется другим процессом.

Сведения об исправлении

Важно. Языковой пакет не следует устанавливать после установки этого исправления. В противном случае языковые изменения в исправление не будет применяться, и будет необходимо повторно установить исправление. Дополнительные сведения содержатся в статье Установка языковых пакетов для Windows.

Существует исправление от корпорации Майкрософт. Однако данное исправление предназначено для устранения только проблемы, описанной в этой статье. Применяйте данное исправление только в тех системах, которые имеют данную проблему.

Если исправление доступно для скачивания, имеется раздел «Пакет исправлений доступен для скачивания» в верхней части этой статьи базы знаний. Если этого раздела нет, отправьте запрос в службу технической поддержки для получения исправления.

Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Стандартная оплата за поддержку будет взиматься только за дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Полный список телефонов поддержки и обслуживания клиентов корпорации Майкрософт или создать отдельный запрос на обслуживание посетите следующий веб-узел корпорации Майкрософт:

http://support.microsoft.com/contactus/?ws=supportПримечание. В форме «Пакет исправлений доступен для скачивания» отображаются языки, для которых доступно исправление. Если нужный язык не отображается, значит исправление для данного языка отсутствует.

Предварительные условия

Для установки этого исправления необходимо иметь апреля 2014 накопительный пакет обновления для Windows RT 8.1, Windows 8.1 и Windows Server 2012 R2 (2919355) , установленной в Windows Server 2012 R2 или Windows 8.1. Или установите Пакет обновления 1 для Windows 7 или Windows Server 2008 R2.

Сведения о реестре

Для использования исправления из этого пакета нет необходимости вносить изменения в реестр.

Необходимость перезагрузки

Может потребоваться перезагрузить компьютер после установки данного исправления.

Сведения о замене исправлений

Это исправление не заменяет ранее выпущенные исправления.

Глобальная версия этого исправления устанавливает файлы с атрибутами, указанными в приведенных ниже таблицах. Дата и время для файлов указаны в формате UTC. Дата и время для файлов на локальном компьютере отображаются в местном времени с вашим текущим смещением летнего времени (DST). Кроме того, при выполнении определенных операций с файлами, даты и время могут изменяться.

Сведения о файле Windows 8.1 и Windows Server 2012 R2 и заметки

Важно. Windows Server 2012 R2 исправления и исправления Windows 8.1 включаются в тех же самых пакетов. Однако исправления на странице запроса исправлений перечислены под обеими операционными системами. Для получения пакета исправлений, который применяется к одной или обеих операционных систем, установите исправления, перечисленные в разделе «Windows 8.1/Windows Server 2012 R2» на странице. Всегда смотрите раздел «Информация в данной статье относится к следующим продуктам» статьи для определения фактических операционных систем, к которым применяется каждое исправление.

  • Файлы МАНИФЕСТА (.manifest) и MUM (.mum), устанавливаемые для каждой среды

    указаны отдельно в разделе «сведения о дополнительных файлах для Windows 8.1 и Windows Server 2012 R2». MUM, MANIFEST и связанные файлы каталога безопасности (.cat) очень важны для поддержания состояния обновленных компонентов. Файлы каталога безопасности, для которых не перечислены атрибуты, подписаны цифровой подписью корпорации Майкрософт.

Для всех поддерживаемых 32-разрядных версий Windows 8.1

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Ftpconfigext.dll

8.5.9600.17725

16,896

11-Mar-2015

01:05

x86

Ftpctrlps.dll

8.5.9600.17725

10,240

11-Mar-2015

01:17

x86

Ftpmib.dll

8.5.9600.17725

10 752

11-Mar-2015

01:15

x86

Ftpres.dll

8.5.9600.16384

14,848

22-Aug-2013

04:16

x86

Ftpsvc.dll

8.5.9600.17725

344,064

11-Mar-2015

00:57

x86

Ftpsvc.mof

Неприменимо

69,990

21-Aug-2013

23:46

Неприменимо

Для всех поддерживаемых 64-разрядных версий Windows 8.1 и Windows Server 2012 R2

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Ftpconfigext.dll

8.5.9600.17725

19,968

11-Mar-2015

01:44

x64

Ftpctrlps.dll

8.5.9600.17725

14,848

11-Mar-2015

01:59

x64

Ftpmib.dll

8.5.9600.17725

13,312

11-Mar-2015

01:56

x64

Ftpres.dll

8.5.9600.16384

14,848

22-Aug-2013

11:44

x64

Ftpsvc.dll

8.5.9600.17725

393,216

11-Mar-2015

01:33

x64

Ftpsvc.mof

Неприменимо

69,990

22-Aug-2013

06:51

Неприменимо

Сведения о файле Windows 8 и Windows Server 2012 и заметки

Важно. Исправления для Windows Server 2012 и Windows 8 исправления включены в те же пакеты. Однако исправления на странице запроса исправлений перечислены под обеими операционными системами. Чтобы запросить пакет исправлений, который применяется к одной или обеих операционных систем, установите исправление, описанное в разделе «Windows 8 и Windows Server 2012» на странице. Всегда смотрите раздел «Информация в данной статье относится к следующим продуктам» статьи для определения фактических операционных систем, к которым применяется каждое исправление.

  • Файлы МАНИФЕСТА (.manifest) и MUM (.mum), устанавливаемые для каждой среды

    указаны отдельно в разделе «сведения о дополнительных файлах для Windows 7 и Windows Server 2008 R2». MUM, MANIFEST и связанные файлы каталога безопасности (.cat) очень важны для поддержания состояния обновленных компонентов. Файлы каталога безопасности, для которых не перечислены атрибуты, подписаны цифровой подписью корпорации Майкрософт.

Для всех поддерживаемых версий Windows 8 для систем на базе x86

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Ftpconfigext.dll

8.0.9200.16384

15,360

26-Jul-2012

03:18

x86

Ftpctrlps.dll

8.0.9200.16384

10,240

26-Jul-2012

03:18

x86

Ftpmib.dll

8.0.9200.16384

10 752

26-Jul-2012

03:18

x86

Ftpres.dll

8.0.9200.16384

14,848

26-Jul-2012

02:44

x86

Ftpsvc.dll

8.0.9200.21616

319,488

07-Sep-2015

15:17

x86

Ftpsvc.mof

Неприменимо

69,990

25-Jul-2012

20:18

Неприменимо

Для всех поддерживаемых версий x64 под управлением Windows 8 и Windows Server 2012

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Ftpconfigext.dll

8.0.9200.16384

17,920

26-Jul-2012

03:05

x64

Ftpctrlps.dll

8.0.9200.16384

14,336

26-Jul-2012

03:05

x64

Ftpmib.dll

8.0.9200.16384

13,312

26-Jul-2012

03:05

x64

Ftpres.dll

8.0.9200.16384

14,848

26-Jul-2012

02:34

x64

Ftpsvc.dll

8.0.9200.21616

369,664

07-Sep-2015

14:23

x64

Ftpsvc.mof

Неприменимо

69,990

25-Jul-2012

20:16

Неприменимо

Сведения о файле Windows 7 и Windows Server 2008 R2 и заметки

Важно. Исправления для Windows Server 2008 R2 и Windows 7 включены в одни и те же пакеты. Однако исправления на странице запроса исправлений перечислены под обеими операционными системами. Чтобы запросить пакет исправления, который применяется к одной или обеим ОС, установите исправление, описанное в разделе «Windows 7/Windows Server 2008 R2» страницы. Всегда смотрите раздел «Информация в данной статье относится к следующим продуктам» статьи для определения фактических операционных систем, к которым применяется каждое исправление.

  • Файлы МАНИФЕСТА (.manifest) и MUM (.mum), устанавливаемые для каждой среды

    указаны отдельно в разделе «сведения о дополнительных файлах для Windows 7 и Windows Server 2008 R2». MUM, MANIFEST и связанные файлы каталога безопасности (.cat) очень важны для поддержания состояния обновленных компонентов. Файлы каталога безопасности, для которых не перечислены атрибуты, подписаны цифровой подписью корпорации Майкрософт.

Для всех поддерживаемых 86-разрядных версий Windows 7

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Ftpconfigext.dll

7.5.7601.22982

16 384

05-Mar-2015

04:10

x86

Ftpctrlps.dll

7.5.7601.22982

9,728

05-Mar-2015

04:10

x86

Ftpmib.dll

7.5.7601.22982

10,240

05-Mar-2015

04:10

x86

Ftpres.dll

7.5.7601.22982

14,848

05-Mar-2015

04:06

x86

Ftpsvc.dll

7.5.7601.22982

310,272

05-Mar-2015

04:10

x86

Ftpsvc.mof

Неприменимо

69,252

05-Mar-2015

01:25

Неприменимо

Для всех поддерживаемых 64-разрядных версий Windows 7 и Windows Server 2008 R2

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Ftpconfigext.dll

7.5.7601.22982

18,432

05-Mar-2015

04:23

x64

Ftpctrlps.dll

7.5.7601.22982

13,824

05-Mar-2015

04:23

x64

Ftpmib.dll

7.5.7601.22982

12 800

05-Mar-2015

04:23

x64

Ftpres.dll

7.5.7601.22982

14,848

05-Mar-2015

04:19

x64

Ftpsvc.dll

7.5.7601.22982

351,232

05-Mar-2015

04:23

x64

Ftpsvc.mof

Неприменимо

69,252

05-Mar-2015

01:15

Неприменимо

Для всех поддерживаемых версий Windows Server 2008 R2 для систем на базе процессоров IA-64

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Ftpconfigext.dll

7.5.7601.22982

40,960

05-Mar-2015

03:31

IA-64

Ftpctrlps.dll

7.5.7601.22982

22,528

05-Mar-2015

03:31

IA-64

Ftpmib.dll

7.5.7601.22982

23,552

05-Mar-2015

03:31

IA-64

Ftpres.dll

7.5.7601.22982

14,848

05-Mar-2015

03:27

IA-64

Ftpsvc.dll

7.5.7601.22982

786,432

05-Mar-2015

03:31

IA-64

Ftpsvc.mof

Неприменимо

69,252

05-Mar-2015

01:07

Неприменимо

Сведения о дополнительных файлах

Сведения о дополнительных файлах для Windows 8.1 и для Windows Server 2012 R2

Дополнительные файлы для всех поддерживаемых 32-разрядных версий Windows 8.1

Свойства файла

Значение

Имя файла

X86_88477c24b79c92385578f0352a6516ea_31bf3856ad364e35_6.3.9600.17725_none_5ff770c55b197b27.manifest

Версия файла

Неприменимо

Размер файла

698

Дата (UTC)

11-Mar-2015

Время (UTC)

18:44

Платформа

Неприменимо

Имя файла

X86_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.3.9600.17725_none_df4cabbbb108f83e.manifest

Версия файла

Неприменимо

Размер файла

25,960

Дата (UTC)

11-Mar-2015

Время (UTC)

18:48

Платформа

Неприменимо

Дополнительные файлы для всех поддерживаемых версий на базе x64 Windows 8.1 и Windows Server 2012 R2

Свойства файла

Значение

Имя файла

Amd64_4c334a7f318e7e5b0bdf61bacbd3b9cd_31bf3856ad364e35_6.3.9600.17725_none_840b577ca9139d62.manifest

Версия файла

Неприменимо

Размер файла

1,046

Дата (UTC)

11-Mar-2015

Время (UTC)

18:44

Платформа

Неприменимо

Имя файла

Amd64_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.3.9600.17725_none_3b6b473f69666974.manifest

Версия файла

Неприменимо

Размер файла

25,966

Дата (UTC)

11-Mar-2015

Время (UTC)

18:44

Платформа

Неприменимо

Имя файла

Wow64_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.3.9600.17725_none_45bff1919dc72b6f.manifest

Версия файла

Неприменимо

Размер файла

11,518

Дата (UTC)

11-Mar-2015

Время (UTC)

02:14

Платформа

Неприменимо

Сведения о дополнительных файлах для Windows 8 и Windows Server 2012

Дополнительные файлы для всех поддерживаемых версий Windows 8 для систем на базе x86

Свойства файла

Значение

Имя файла

Update.mum

Версия файла

Неприменимо

Размер файла

1,796

Дата (UTC)

07-Sep-2015

Время (UTC)

20:09

Платформа

Неприменимо

Имя файла

X86_45c1a58d100ee3357dacc59a34b0a8c1_31bf3856ad364e35_6.2.9200.21616_none_685dff9493f2bf6a.manifest

Версия файла

Неприменимо

Размер файла

698

Дата (UTC)

07-Sep-2015

Время (UTC)

20:09

Платформа

Неприменимо

Имя файла

X86_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.2.9200.21616_none_47ed5c4a7feacaa3.manifest

Версия файла

Неприменимо

Размер файла

25,960

Дата (UTC)

07-Sep-2015

Время (UTC)

20:13

Платформа

Неприменимо

Дополнительные файлы для всех поддерживаемых версий x64 под управлением Windows 8 и Windows Server 2012

Свойства файла

Значение

Имя файла

Amd64_b087fa0c367f7370602f10d4508f20b2_31bf3856ad364e35_6.2.9200.21616_none_f2e8ac0ad63dacec.manifest

Версия файла

Неприменимо

Размер файла

1,046

Дата (UTC)

07-Sep-2015

Время (UTC)

20:09

Платформа

Неприменимо

Имя файла

Amd64_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.2.9200.21616_none_a40bf7ce38483bd9.manifest

Версия файла

Неприменимо

Размер файла

25,966

Дата (UTC)

07-Sep-2015

Время (UTC)

20:09

Платформа

Неприменимо

Имя файла

Update.mum

Версия файла

Неприменимо

Размер файла

2,014

Дата (UTC)

07-Sep-2015

Время (UTC)

20:09

Платформа

Неприменимо

Имя файла

Wow64_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.2.9200.21616_none_ae60a2206ca8fdd4.manifest

Версия файла

Неприменимо

Размер файла

11,518

Дата (UTC)

07-Sep-2015

Время (UTC)

15:37

Платформа

Неприменимо

Сведения о дополнительных файлах для Windows 7 и Windows Server 2008 R2

Дополнительные файлы для всех поддерживаемых 86-разрядных версий Windows 7

Свойства файла

Значение

Имя файла

X86_e4fb02832e7fb01c91d04ed77281e7c7_31bf3856ad364e35_6.1.7601.22982_none_6e54d57c40f84bd9.manifest

Версия файла

Неприменимо

Размер файла

698

Дата (UTC)

05-Mar-2015

Время (UTC)

18:10

Платформа

Неприменимо

Имя файла

X86_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.1.7601.22982_none_4cae5c2b0d3b3de6.manifest

Версия файла

Неприменимо

Размер файла

29,360

Дата (UTC)

05-Mar-2015

Время (UTC)

04:38

Платформа

Неприменимо

Дополнительные файлы для всех поддерживаемых 64-разрядных версий Windows 7 и Windows Server 2008 R2

Свойства файла

Значение

Имя файла

Amd64_b93790dbe7a40a5efb8702b6f12cedf6_31bf3856ad364e35_6.1.7601.22982_none_d9aeae6490df6469.manifest

Версия файла

Неприменимо

Размер файла

1,046

Дата (UTC)

05-Mar-2015

Время (UTC)

18:11

Платформа

Неприменимо

Имя файла

Amd64_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.1.7601.22982_none_a8ccf7aec598af1c.manifest

Версия файла

Неприменимо

Размер файла

29,366

Дата (UTC)

05-Mar-2015

Время (UTC)

04:48

Платформа

Неприменимо

Имя файла

Wow64_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.1.7601.22982_none_b321a200f9f97117.manifest

Версия файла

Неприменимо

Размер файла

11,568

Дата (UTC)

05-Mar-2015

Время (UTC)

04:33

Платформа

Неприменимо

Дополнительные файлы для всех поддерживаемых версий Windows Server 2008 R2 с архитектурой IA-64

Свойства файла

Значение

Имя файла

Ia64_157ca3abf4ced819a8b64f4c9aa67d48_31bf3856ad364e35_6.1.7601.22982_none_8bde54fca1a45ba4.manifest

Версия файла

Неприменимо

Размер файла

1,044

Дата (UTC)

05-Mar-2015

Время (UTC)

18:10

Платформа

Неприменимо

Имя файла

Ia64_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.1.7601.22982_none_4cb000210d3946e2.manifest

Версия файла

Неприменимо

Размер файла

29,363

Дата (UTC)

05-Mar-2015

Время (UTC)

04:21

Платформа

Неприменимо

Имя файла

Wow64_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.1.7601.22982_none_b321a200f9f97117.manifest

Версия файла

Неприменимо

Размер файла

11,568

Дата (UTC)

05-Mar-2015

Время (UTC)

04:33

Платформа

Неприменимо

Статус

Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе «Относится к».

Ссылки

См. термины , которые корпорация Майкрософт использует для описания обновлений программного обеспечения.

I have created a small windows forms application to upload the file to one of our client’s ftp site. But the problem that I’m having is that when I run this application on my local machine it uploads the file successfully. But if I run this program on our server, I get this error message;

remote server returned an error: (550) File unavailable (eg, file not found, can not access the file), on this line ‘objFTPRequest.GetRequestStream();’.

Does anybody know why? Do I need to configure the firewall or something? Here is my code;

FileInfo objFile = new FileInfo(filename);
FtpWebRequest objFTPRequest;

// Create FtpWebRequest object 
objFTPRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/outbox/" + objFile.Name));

// Set Credintials
objFTPRequest.Credentials = new NetworkCredential(ftpUserName, ftpPassword);

// By default KeepAlive is true, where the control connection is 
// not closed after a command is executed.
objFTPRequest.KeepAlive = false;

// Set the data transfer type.
objFTPRequest.UseBinary = true;

// Set content length
objFTPRequest.ContentLength = objFile.Length;

// Set request method
objFTPRequest.Method = WebRequestMethods.Ftp.UploadFile;

// Set buffer size
int intBufferLength = 16 * 1024;
byte[] objBuffer = new byte[intBufferLength];

// Opens a file to read
FileStream objFileStream = objFile.OpenRead();


// Get Stream of the file
Stream objStream = objFTPRequest.GetRequestStream();

int len = 0;

while ((len = objFileStream.Read(objBuffer, 0, intBufferLength)) != 0)
{
    // Write file Content 
    objStream.Write(objBuffer, 0, len);

}

            objStream.Close();
            objFileStream.Close();

Martin Prikryl's user avatar

asked Jul 4, 2013 at 13:37

chosenOne Thabs's user avatar

chosenOne ThabschosenOne Thabs

1,4243 gold badges20 silver badges38 bronze badges

I met the same problem, and this is what I did:

  1. Check the OS has the right to write. Find the ftp folder =>right
    click=>properties=>security, then you must know what you should do
  2. Check the ftp server open the write right to the user you logged. Open IIS=>click the ftp site=>ftp Authorization Rules=>add allow rules=>choose a user or group to set the rights
  3. Check the the dir on the ftp server, do the same thing on item 2.

I can use four pictures to show the rights to be set:
enter image description here

enter image description here
enter image description here
enter image description here

Irshad's user avatar

Irshad

3,0335 gold badges28 silver badges51 bronze badges

answered Jul 9, 2013 at 17:07

francis's user avatar

2

It could be more simple.

I facing similar issue and i tried all the suggested solution but no one work.
I’m figure out in simple manner like this one : take a look

Wrong code at my end

 Dim request As Net.FtpWebRequest = CType(FtpWebRequest.Create("ftp://xxx.xxx.xxx.xxx/files"), FtpWebRequest)

Change it in this simple one :

 Dim request As Net.FtpWebRequest = CType(FtpWebRequest.Create("ftp://xxx.xxx.xxx.xxx/files/youfilename.ext"), FtpWebRequest)

then procced with fill request and send to server :)

That’s all.

Make sure that all permission on server work fine and u’re using right credential.

answered Apr 3, 2014 at 20:31

makemoney2010's user avatar

1

I found the solution. The problem is the Current Working Directory of the ftp user. If you type a url like ftp:///path/test.txt it is used as a relative path ro the working directory. For example CWD is /test then the used path is /test/path/test.txt. If you want to use an absolute path, you have to type the url like ftp:////path/test.txt. Then the file is uploaded in the folder /path/test.txt, without exception.

answered Oct 1, 2018 at 7:16

sham's user avatar

shamsham

6817 silver badges25 bronze badges

In order to resolve this issue, it is required to force the System.Net.FtpWebRequest command to revert back to the old behavior of how it used to work in .Net Framework 2.0/3.5 and issue the extra CWD command before issuing the actual command.

In order to do this, the following code needs to be placed before any instance of the System.Net.FtpWebRequest class is invoked.
The code below only needs to be called once, since it changes the settings of the entire application domain.

private static void SetMethodRequiresCWD()
{
        Type requestType = typeof(FtpWebRequest);
        FieldInfo methodInfoField = requestType.GetField("m_MethodInfo", BindingFlags.NonPublic | BindingFlags.Instance);
        Type methodInfoType = methodInfoField.FieldType;


        FieldInfo knownMethodsField = methodInfoType.GetField("KnownMethodInfo", BindingFlags.Static | BindingFlags.NonPublic);
        Array knownMethodsArray = (Array)knownMethodsField.GetValue(null);

        FieldInfo flagsField = methodInfoType.GetField("Flags", BindingFlags.NonPublic | BindingFlags.Instance);

        int MustChangeWorkingDirectoryToPath = 0x100;
        foreach (object knownMethod in knownMethodsArray)
        {
            int flags = (int)flagsField.GetValue(knownMethod);
            flags |= MustChangeWorkingDirectoryToPath;
            flagsField.SetValue(knownMethod, flags);
        }
 }

http://support.microsoft.com/kb/2134299

answered Nov 6, 2013 at 21:44

Taras Kravets's user avatar

Taras KravetsTaras Kravets

1,3534 gold badges13 silver badges15 bronze badges

Make sure target folder «outbox» exists.
That was my problem with error 550.

Simply create target directory «output» before upload.

try
        {
            WebRequest request = WebRequest.Create("ftp://" + ftpServerIP + "/outbox");
            request.Credentials = new NetworkCredential("user", "password");
            request.Method = WebRequestMethods.Ftp.MakeDirectory;
            using (var resp = (FtpWebResponse)request.GetResponse())
            {
                Console.WriteLine(resp.StatusCode);
            }
        }
        catch (WebException ex)
        {
            FtpWebResponse response = (FtpWebResponse)ex.Response;
            if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)
            {
                response.Close();
                //already exists
            }
            else
            {
                response.Close();
                //doesn't exists = it's another exception
            }
        }

answered Jul 31, 2017 at 12:30

Jan Macháček's user avatar

I had this problem. Filezilla was fine, .net wasn’t. It was to a wordpress server.
To get it working, I changed the my code from this:

ftp://XXX.XXX.XXX.XXX//folder//» + txtFile.Text

to:

ftp://[FTPNAME]@XXX.XXX.XXX.XXX//» + txtFile.Text

and it now thankfully works.

I don’t know if this is specific to WordPress FTP folders.

answered Oct 25, 2017 at 9:43

BingoCoder's user avatar

In my case, there was a root folder referenced in my ftp address that was missing.
After to create the folder the problem was solved.

ftp://xxx.xxx.xx.xx:21//rootfolder/

answered Mar 16, 2018 at 18:04

Eduardo Pelais's user avatar

I was also having the same issue. After monitoring the traffic with WireShark I understood the problem

I had set up a new FTP site on my local IIS FTP server named ‘testftp’
The ‘testftp’ site was pointing to a folder named d:ftp on my computer’s hard disk
I was getting the ‘550’ error whenever i tried to execute the line in bold in C# code below
ftpHostURL=»ftp://127.0.0.1/testftp/test.htm»;
request = (FtpWebRequest)WebRequest.Create(ftpHostURL);
request.Proxy = new WebProxy(); //——Proxy bypassing(The requested FTP command is not supported when using HTTP proxy)

            request.Method = WebRequestMethods.Ftp.UploadFile;
            request.Credentials = new NetworkCredential(ftpUserName, ftpPassword);
           // uploadFilePath = "d://test//tt.txt";
            using (var requestStream = request.GetRequestStream())
            {
                using (var input = File.OpenRead(uploadFilePath))
                {
                    input.CopyTo(requestStream);
                }
            }

I tried a lot of solutions mentioned in various websites but nothing helped. Then I came across a site that suggested to use WireShark to monitor the traffic.

On monitoring the traffic using the RawCap Utility I saw that the application was trying to execute the code below

STOR testftp/test.htm

Then I understood the problem. IIS was expecting a folder named ‘testftp‘ to be there under the ftp root folder which was not there.
I was considering ‘testftp‘ as the name of the virtual folder created in IIS where as IIS understood it as a folder under the FTP root

Creating a folder named ‘testftp‘ under the FTP root folder solved my issue.

Hope this is helpful to someone

Regards
Mathew

answered Nov 5, 2019 at 5:49

mjk6035's user avatar

mjk6035mjk6035

891 silver badge9 bronze badges

Just to throw my hat in the ring, I was getting the same error. When the FTPRequest was requesting files from the FTP Service on the same computer (same IP). In the request I was using the IP address of the machine but once I changed that to 127.0.0.1 it worked. interestingly enough, requests from other IP addresses were being processed and files downloaded, just not from itself.

Hope that helped someone.

answered Nov 16, 2015 at 1:50

dellyjm's user avatar

dellyjmdellyjm

4181 gold badge5 silver badges10 bronze badges

When i had the same issue i tried everything above and after a day later i realize that the path which i created for uri having a white space in between «/» and the folder name

string uri="192.168.1.101/ Sync/Image.jpg";

the above string should be

string uri="192.168.1.101/Sync/Image.jpg";

this small mistake also throws the same error and it’s a valid error because this is not valid path for our file if it contains any white spaces between «/» and folder/file name

answered Sep 15, 2016 at 9:14

Shrikant Dandile's user avatar

I was having the same problem, when i compared with the ftpuri and User Name Path it is resolved
When I create ftp access i have chose the path as /directory name

in the ftpuri when i included the directory name it gave the error and when i removed the directory name it is resolved.

ftpuri with error

«ftp://www.example.com/Project/yourfilename.ds»

ftpuri resolved

«ftp://www.example.com/yourfilename.ds»

ftp access folder
«/Project»

Alexei - check Codidact's user avatar

answered Jan 11, 2017 at 15:56

shankar's user avatar

I too had this problem recently. What I found is that when I use ftpUploadFile the routine is trying to put the file in the root ftp folder. Normal command line ftp worked fine. However issuing a pwd command from the command line ftp revealed that this particular server was setting a different current directory upon login. Altering my ftpUploadFile to include this folder resolved the issue.

answered Feb 1, 2017 at 13:54

user2709214's user avatar

user2709214user2709214

1852 silver badges12 bronze badges

I have created a small windows forms application to upload the file to one of our client’s ftp site. But the problem that I’m having is that when I run this application on my local machine it uploads the file successfully. But if I run this program on our server, I get this error message;

remote server returned an error: (550) File unavailable (eg, file not found, can not access the file), on this line ‘objFTPRequest.GetRequestStream();’.

Does anybody know why? Do I need to configure the firewall or something? Here is my code;

FileInfo objFile = new FileInfo(filename);
FtpWebRequest objFTPRequest;

// Create FtpWebRequest object 
objFTPRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/outbox/" + objFile.Name));

// Set Credintials
objFTPRequest.Credentials = new NetworkCredential(ftpUserName, ftpPassword);

// By default KeepAlive is true, where the control connection is 
// not closed after a command is executed.
objFTPRequest.KeepAlive = false;

// Set the data transfer type.
objFTPRequest.UseBinary = true;

// Set content length
objFTPRequest.ContentLength = objFile.Length;

// Set request method
objFTPRequest.Method = WebRequestMethods.Ftp.UploadFile;

// Set buffer size
int intBufferLength = 16 * 1024;
byte[] objBuffer = new byte[intBufferLength];

// Opens a file to read
FileStream objFileStream = objFile.OpenRead();


// Get Stream of the file
Stream objStream = objFTPRequest.GetRequestStream();

int len = 0;

while ((len = objFileStream.Read(objBuffer, 0, intBufferLength)) != 0)
{
    // Write file Content 
    objStream.Write(objBuffer, 0, len);

}

            objStream.Close();
            objFileStream.Close();

Martin Prikryl's user avatar

asked Jul 4, 2013 at 13:37

chosenOne Thabs's user avatar

chosenOne ThabschosenOne Thabs

1,4243 gold badges20 silver badges38 bronze badges

I met the same problem, and this is what I did:

  1. Check the OS has the right to write. Find the ftp folder =>right
    click=>properties=>security, then you must know what you should do
  2. Check the ftp server open the write right to the user you logged. Open IIS=>click the ftp site=>ftp Authorization Rules=>add allow rules=>choose a user or group to set the rights
  3. Check the the dir on the ftp server, do the same thing on item 2.

I can use four pictures to show the rights to be set:
enter image description here

enter image description here
enter image description here
enter image description here

Irshad's user avatar

Irshad

3,0335 gold badges28 silver badges51 bronze badges

answered Jul 9, 2013 at 17:07

francis's user avatar

2

It could be more simple.

I facing similar issue and i tried all the suggested solution but no one work.
I’m figure out in simple manner like this one : take a look

Wrong code at my end

 Dim request As Net.FtpWebRequest = CType(FtpWebRequest.Create("ftp://xxx.xxx.xxx.xxx/files"), FtpWebRequest)

Change it in this simple one :

 Dim request As Net.FtpWebRequest = CType(FtpWebRequest.Create("ftp://xxx.xxx.xxx.xxx/files/youfilename.ext"), FtpWebRequest)

then procced with fill request and send to server :)

That’s all.

Make sure that all permission on server work fine and u’re using right credential.

answered Apr 3, 2014 at 20:31

makemoney2010's user avatar

1

I found the solution. The problem is the Current Working Directory of the ftp user. If you type a url like ftp:///path/test.txt it is used as a relative path ro the working directory. For example CWD is /test then the used path is /test/path/test.txt. If you want to use an absolute path, you have to type the url like ftp:////path/test.txt. Then the file is uploaded in the folder /path/test.txt, without exception.

answered Oct 1, 2018 at 7:16

sham's user avatar

shamsham

6817 silver badges25 bronze badges

In order to resolve this issue, it is required to force the System.Net.FtpWebRequest command to revert back to the old behavior of how it used to work in .Net Framework 2.0/3.5 and issue the extra CWD command before issuing the actual command.

In order to do this, the following code needs to be placed before any instance of the System.Net.FtpWebRequest class is invoked.
The code below only needs to be called once, since it changes the settings of the entire application domain.

private static void SetMethodRequiresCWD()
{
        Type requestType = typeof(FtpWebRequest);
        FieldInfo methodInfoField = requestType.GetField("m_MethodInfo", BindingFlags.NonPublic | BindingFlags.Instance);
        Type methodInfoType = methodInfoField.FieldType;


        FieldInfo knownMethodsField = methodInfoType.GetField("KnownMethodInfo", BindingFlags.Static | BindingFlags.NonPublic);
        Array knownMethodsArray = (Array)knownMethodsField.GetValue(null);

        FieldInfo flagsField = methodInfoType.GetField("Flags", BindingFlags.NonPublic | BindingFlags.Instance);

        int MustChangeWorkingDirectoryToPath = 0x100;
        foreach (object knownMethod in knownMethodsArray)
        {
            int flags = (int)flagsField.GetValue(knownMethod);
            flags |= MustChangeWorkingDirectoryToPath;
            flagsField.SetValue(knownMethod, flags);
        }
 }

http://support.microsoft.com/kb/2134299

answered Nov 6, 2013 at 21:44

Taras Kravets's user avatar

Taras KravetsTaras Kravets

1,3534 gold badges13 silver badges15 bronze badges

Make sure target folder «outbox» exists.
That was my problem with error 550.

Simply create target directory «output» before upload.

try
        {
            WebRequest request = WebRequest.Create("ftp://" + ftpServerIP + "/outbox");
            request.Credentials = new NetworkCredential("user", "password");
            request.Method = WebRequestMethods.Ftp.MakeDirectory;
            using (var resp = (FtpWebResponse)request.GetResponse())
            {
                Console.WriteLine(resp.StatusCode);
            }
        }
        catch (WebException ex)
        {
            FtpWebResponse response = (FtpWebResponse)ex.Response;
            if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)
            {
                response.Close();
                //already exists
            }
            else
            {
                response.Close();
                //doesn't exists = it's another exception
            }
        }

answered Jul 31, 2017 at 12:30

Jan Macháček's user avatar

I had this problem. Filezilla was fine, .net wasn’t. It was to a wordpress server.
To get it working, I changed the my code from this:

ftp://XXX.XXX.XXX.XXX//folder//» + txtFile.Text

to:

ftp://[FTPNAME]@XXX.XXX.XXX.XXX//» + txtFile.Text

and it now thankfully works.

I don’t know if this is specific to WordPress FTP folders.

answered Oct 25, 2017 at 9:43

BingoCoder's user avatar

In my case, there was a root folder referenced in my ftp address that was missing.
After to create the folder the problem was solved.

ftp://xxx.xxx.xx.xx:21//rootfolder/

answered Mar 16, 2018 at 18:04

Eduardo Pelais's user avatar

I was also having the same issue. After monitoring the traffic with WireShark I understood the problem

I had set up a new FTP site on my local IIS FTP server named ‘testftp’
The ‘testftp’ site was pointing to a folder named d:ftp on my computer’s hard disk
I was getting the ‘550’ error whenever i tried to execute the line in bold in C# code below
ftpHostURL=»ftp://127.0.0.1/testftp/test.htm»;
request = (FtpWebRequest)WebRequest.Create(ftpHostURL);
request.Proxy = new WebProxy(); //——Proxy bypassing(The requested FTP command is not supported when using HTTP proxy)

            request.Method = WebRequestMethods.Ftp.UploadFile;
            request.Credentials = new NetworkCredential(ftpUserName, ftpPassword);
           // uploadFilePath = "d://test//tt.txt";
            using (var requestStream = request.GetRequestStream())
            {
                using (var input = File.OpenRead(uploadFilePath))
                {
                    input.CopyTo(requestStream);
                }
            }

I tried a lot of solutions mentioned in various websites but nothing helped. Then I came across a site that suggested to use WireShark to monitor the traffic.

On monitoring the traffic using the RawCap Utility I saw that the application was trying to execute the code below

STOR testftp/test.htm

Then I understood the problem. IIS was expecting a folder named ‘testftp‘ to be there under the ftp root folder which was not there.
I was considering ‘testftp‘ as the name of the virtual folder created in IIS where as IIS understood it as a folder under the FTP root

Creating a folder named ‘testftp‘ under the FTP root folder solved my issue.

Hope this is helpful to someone

Regards
Mathew

answered Nov 5, 2019 at 5:49

mjk6035's user avatar

mjk6035mjk6035

891 silver badge9 bronze badges

Just to throw my hat in the ring, I was getting the same error. When the FTPRequest was requesting files from the FTP Service on the same computer (same IP). In the request I was using the IP address of the machine but once I changed that to 127.0.0.1 it worked. interestingly enough, requests from other IP addresses were being processed and files downloaded, just not from itself.

Hope that helped someone.

answered Nov 16, 2015 at 1:50

dellyjm's user avatar

dellyjmdellyjm

4181 gold badge5 silver badges10 bronze badges

When i had the same issue i tried everything above and after a day later i realize that the path which i created for uri having a white space in between «/» and the folder name

string uri="192.168.1.101/ Sync/Image.jpg";

the above string should be

string uri="192.168.1.101/Sync/Image.jpg";

this small mistake also throws the same error and it’s a valid error because this is not valid path for our file if it contains any white spaces between «/» and folder/file name

answered Sep 15, 2016 at 9:14

Shrikant Dandile's user avatar

I was having the same problem, when i compared with the ftpuri and User Name Path it is resolved
When I create ftp access i have chose the path as /directory name

in the ftpuri when i included the directory name it gave the error and when i removed the directory name it is resolved.

ftpuri with error

«ftp://www.example.com/Project/yourfilename.ds»

ftpuri resolved

«ftp://www.example.com/yourfilename.ds»

ftp access folder
«/Project»

Alexei - check Codidact's user avatar

answered Jan 11, 2017 at 15:56

shankar's user avatar

I too had this problem recently. What I found is that when I use ftpUploadFile the routine is trying to put the file in the root ftp folder. Normal command line ftp worked fine. However issuing a pwd command from the command line ftp revealed that this particular server was setting a different current directory upon login. Altering my ftpUploadFile to include this folder resolved the issue.

answered Feb 1, 2017 at 13:54

user2709214's user avatar

user2709214user2709214

1852 silver badges12 bronze badges

I have created a small windows forms application to upload the file to one of our client’s ftp site. But the problem that I’m having is that when I run this application on my local machine it uploads the file successfully. But if I run this program on our server, I get this error message;

remote server returned an error: (550) File unavailable (eg, file not found, can not access the file), on this line ‘objFTPRequest.GetRequestStream();’.

Does anybody know why? Do I need to configure the firewall or something? Here is my code;

FileInfo objFile = new FileInfo(filename);
FtpWebRequest objFTPRequest;

// Create FtpWebRequest object 
objFTPRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/outbox/" + objFile.Name));

// Set Credintials
objFTPRequest.Credentials = new NetworkCredential(ftpUserName, ftpPassword);

// By default KeepAlive is true, where the control connection is 
// not closed after a command is executed.
objFTPRequest.KeepAlive = false;

// Set the data transfer type.
objFTPRequest.UseBinary = true;

// Set content length
objFTPRequest.ContentLength = objFile.Length;

// Set request method
objFTPRequest.Method = WebRequestMethods.Ftp.UploadFile;

// Set buffer size
int intBufferLength = 16 * 1024;
byte[] objBuffer = new byte[intBufferLength];

// Opens a file to read
FileStream objFileStream = objFile.OpenRead();


// Get Stream of the file
Stream objStream = objFTPRequest.GetRequestStream();

int len = 0;

while ((len = objFileStream.Read(objBuffer, 0, intBufferLength)) != 0)
{
    // Write file Content 
    objStream.Write(objBuffer, 0, len);

}

            objStream.Close();
            objFileStream.Close();

Martin Prikryl's user avatar

asked Jul 4, 2013 at 13:37

chosenOne Thabs's user avatar

chosenOne ThabschosenOne Thabs

1,4703 gold badges21 silver badges39 bronze badges

I met the same problem, and this is what I did:

  1. Check the OS has the right to write. Find the ftp folder =>right
    click=>properties=>security, then you must know what you should do
  2. Check the ftp server open the write right to the user you logged. Open IIS=>click the ftp site=>ftp Authorization Rules=>add allow rules=>choose a user or group to set the rights
  3. Check the the dir on the ftp server, do the same thing on item 2.

I can use four pictures to show the rights to be set:
enter image description here

enter image description here
enter image description here
enter image description here

Irshad's user avatar

Irshad

3,0615 gold badges30 silver badges51 bronze badges

answered Jul 9, 2013 at 17:07

francis's user avatar

2

It could be more simple.

I facing similar issue and i tried all the suggested solution but no one work.
I’m figure out in simple manner like this one : take a look

Wrong code at my end

 Dim request As Net.FtpWebRequest = CType(FtpWebRequest.Create("ftp://xxx.xxx.xxx.xxx/files"), FtpWebRequest)

Change it in this simple one :

 Dim request As Net.FtpWebRequest = CType(FtpWebRequest.Create("ftp://xxx.xxx.xxx.xxx/files/youfilename.ext"), FtpWebRequest)

then procced with fill request and send to server :)

That’s all.

Make sure that all permission on server work fine and u’re using right credential.

answered Apr 3, 2014 at 20:31

makemoney2010's user avatar

1

I found the solution. The problem is the Current Working Directory of the ftp user. If you type a url like ftp:///path/test.txt it is used as a relative path ro the working directory. For example CWD is /test then the used path is /test/path/test.txt. If you want to use an absolute path, you have to type the url like ftp:////path/test.txt. Then the file is uploaded in the folder /path/test.txt, without exception.

answered Oct 1, 2018 at 7:16

sham's user avatar

shamsham

6918 silver badges27 bronze badges

In order to resolve this issue, it is required to force the System.Net.FtpWebRequest command to revert back to the old behavior of how it used to work in .Net Framework 2.0/3.5 and issue the extra CWD command before issuing the actual command.

In order to do this, the following code needs to be placed before any instance of the System.Net.FtpWebRequest class is invoked.
The code below only needs to be called once, since it changes the settings of the entire application domain.

private static void SetMethodRequiresCWD()
{
        Type requestType = typeof(FtpWebRequest);
        FieldInfo methodInfoField = requestType.GetField("m_MethodInfo", BindingFlags.NonPublic | BindingFlags.Instance);
        Type methodInfoType = methodInfoField.FieldType;


        FieldInfo knownMethodsField = methodInfoType.GetField("KnownMethodInfo", BindingFlags.Static | BindingFlags.NonPublic);
        Array knownMethodsArray = (Array)knownMethodsField.GetValue(null);

        FieldInfo flagsField = methodInfoType.GetField("Flags", BindingFlags.NonPublic | BindingFlags.Instance);

        int MustChangeWorkingDirectoryToPath = 0x100;
        foreach (object knownMethod in knownMethodsArray)
        {
            int flags = (int)flagsField.GetValue(knownMethod);
            flags |= MustChangeWorkingDirectoryToPath;
            flagsField.SetValue(knownMethod, flags);
        }
 }

http://support.microsoft.com/kb/2134299

answered Nov 6, 2013 at 21:44

Taras Kravets's user avatar

Taras KravetsTaras Kravets

1,4334 gold badges14 silver badges15 bronze badges

Make sure target folder «outbox» exists.
That was my problem with error 550.

Simply create target directory «output» before upload.

try
        {
            WebRequest request = WebRequest.Create("ftp://" + ftpServerIP + "/outbox");
            request.Credentials = new NetworkCredential("user", "password");
            request.Method = WebRequestMethods.Ftp.MakeDirectory;
            using (var resp = (FtpWebResponse)request.GetResponse())
            {
                Console.WriteLine(resp.StatusCode);
            }
        }
        catch (WebException ex)
        {
            FtpWebResponse response = (FtpWebResponse)ex.Response;
            if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)
            {
                response.Close();
                //already exists
            }
            else
            {
                response.Close();
                //doesn't exists = it's another exception
            }
        }

answered Jul 31, 2017 at 12:30

Jan Macháček's user avatar

I had this problem. Filezilla was fine, .net wasn’t. It was to a wordpress server.
To get it working, I changed the my code from this:

ftp://XXX.XXX.XXX.XXX//folder//» + txtFile.Text

to:

ftp://[FTPNAME]@XXX.XXX.XXX.XXX//» + txtFile.Text

and it now thankfully works.

I don’t know if this is specific to WordPress FTP folders.

answered Oct 25, 2017 at 9:43

BingoCoder's user avatar

In my case, there was a root folder referenced in my ftp address that was missing.
After to create the folder the problem was solved.

ftp://xxx.xxx.xx.xx:21//rootfolder/

answered Mar 16, 2018 at 18:04

Eduardo Pelais's user avatar

I was also having the same issue. After monitoring the traffic with WireShark I understood the problem

I had set up a new FTP site on my local IIS FTP server named ‘testftp’
The ‘testftp’ site was pointing to a folder named d:ftp on my computer’s hard disk
I was getting the ‘550’ error whenever i tried to execute the line in bold in C# code below
ftpHostURL=»ftp://127.0.0.1/testftp/test.htm»;
request = (FtpWebRequest)WebRequest.Create(ftpHostURL);
request.Proxy = new WebProxy(); //——Proxy bypassing(The requested FTP command is not supported when using HTTP proxy)

            request.Method = WebRequestMethods.Ftp.UploadFile;
            request.Credentials = new NetworkCredential(ftpUserName, ftpPassword);
           // uploadFilePath = "d://test//tt.txt";
            using (var requestStream = request.GetRequestStream())
            {
                using (var input = File.OpenRead(uploadFilePath))
                {
                    input.CopyTo(requestStream);
                }
            }

I tried a lot of solutions mentioned in various websites but nothing helped. Then I came across a site that suggested to use WireShark to monitor the traffic.

On monitoring the traffic using the RawCap Utility I saw that the application was trying to execute the code below

STOR testftp/test.htm

Then I understood the problem. IIS was expecting a folder named ‘testftp‘ to be there under the ftp root folder which was not there.
I was considering ‘testftp‘ as the name of the virtual folder created in IIS where as IIS understood it as a folder under the FTP root

Creating a folder named ‘testftp‘ under the FTP root folder solved my issue.

Hope this is helpful to someone

Regards
Mathew

answered Nov 5, 2019 at 5:49

mjk6035's user avatar

mjk6035mjk6035

1211 silver badge10 bronze badges

Just to throw my hat in the ring, I was getting the same error. When the FTPRequest was requesting files from the FTP Service on the same computer (same IP). In the request I was using the IP address of the machine but once I changed that to 127.0.0.1 it worked. interestingly enough, requests from other IP addresses were being processed and files downloaded, just not from itself.

Hope that helped someone.

answered Nov 16, 2015 at 1:50

dellyjm's user avatar

dellyjmdellyjm

4281 gold badge5 silver badges10 bronze badges

When i had the same issue i tried everything above and after a day later i realize that the path which i created for uri having a white space in between «/» and the folder name

string uri="192.168.1.101/ Sync/Image.jpg";

the above string should be

string uri="192.168.1.101/Sync/Image.jpg";

this small mistake also throws the same error and it’s a valid error because this is not valid path for our file if it contains any white spaces between «/» and folder/file name

answered Sep 15, 2016 at 9:14

Shrikant Dandile's user avatar

I was having the same problem, when i compared with the ftpuri and User Name Path it is resolved
When I create ftp access i have chose the path as /directory name

in the ftpuri when i included the directory name it gave the error and when i removed the directory name it is resolved.

ftpuri with error

«ftp://www.example.com/Project/yourfilename.ds»

ftpuri resolved

«ftp://www.example.com/yourfilename.ds»

ftp access folder
«/Project»

Alexei - check Codidact's user avatar

answered Jan 11, 2017 at 15:56

shankar's user avatar

I too had this problem recently. What I found is that when I use ftpUploadFile the routine is trying to put the file in the root ftp folder. Normal command line ftp worked fine. However issuing a pwd command from the command line ftp revealed that this particular server was setting a different current directory upon login. Altering my ftpUploadFile to include this folder resolved the issue.

answered Feb 1, 2017 at 13:54

user2709214's user avatar

user2709214user2709214

1852 silver badges12 bronze badges

Windows Server 2012 R2 Datacenter Windows Server 2012 R2 Standard Windows Server 2012 R2 Essentials Windows Server 2012 R2 Foundation Windows 8.1 Enterprise Windows 8.1 Pro Windows 8.1 Windows Server 2012 Datacenter Windows Server 2012 Datacenter Windows Server 2012 Standard Windows Server 2012 Standard Windows Server 2012 Essentials Windows Server 2012 Foundation Windows Server 2012 Foundation Windows 8 Enterprise Windows 8 Pro Windows 8 Windows Server 2008 R2 Service Pack 1 Windows Server 2008 R2 Datacenter Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Standard Windows Server 2008 R2 Foundation Windows Server 2008 R2 for Itanium-Based Systems Windows 7 Service Pack 1 Windows 7 Ultimate Windows 7 Enterprise Windows 7 Professional Windows 7 Home Premium Windows 7 Home Basic Windows 7 Starter Еще…Меньше

В данной статье описывается проблема, возникающая в службе FTP на компьютере под управлением Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Пакет обновления 1 (SP1) для Windows 7 или Windows Server 2008 R2 с пакетом обновления 1. Доступно исправление для решения этой проблемы. Исправление с условием.

Симптомы

Эта проблема возникает при попытке загрузить файл, пока выполняется запись файла, даже если файл был открыт в приложение, которое выполняет запись в файл, указав значение FILE_SHARE_READ для режим общего доступа. При возникновении этой проблемы не удается загрузить файл, и служба FTP возвращает сообщение об ошибке, подобное приведенному ниже:


550 процесс файл недоступен, поскольку он используется другим процессом.

Сведения об исправлении

Важно. Языковой пакет не следует устанавливать после установки этого исправления. В противном случае языковые изменения в исправление не будет применяться, и будет необходимо повторно установить исправление. Дополнительные сведения содержатся в статье Установка языковых пакетов для Windows.

Существует исправление от корпорации Майкрософт. Однако данное исправление предназначено для устранения только проблемы, описанной в этой статье. Применяйте данное исправление только в тех системах, которые имеют данную проблему.

Если исправление доступно для скачивания, имеется раздел «Пакет исправлений доступен для скачивания» в верхней части этой статьи базы знаний. Если этого раздела нет, отправьте запрос в службу технической поддержки для получения исправления.

Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Стандартная оплата за поддержку будет взиматься только за дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Полный список телефонов поддержки и обслуживания клиентов корпорации Майкрософт или создать отдельный запрос на обслуживание посетите следующий веб-узел корпорации Майкрософт:

http://support.microsoft.com/contactus/?ws=supportПримечание. В форме «Пакет исправлений доступен для скачивания» отображаются языки, для которых доступно исправление. Если нужный язык не отображается, значит исправление для данного языка отсутствует.

Предварительные условия

Для установки этого исправления необходимо иметь апреля 2014 накопительный пакет обновления для Windows RT 8.1, Windows 8.1 и Windows Server 2012 R2 (2919355) , установленной в Windows Server 2012 R2 или Windows 8.1. Или установите Пакет обновления 1 для Windows 7 или Windows Server 2008 R2.

Сведения о реестре

Для использования исправления из этого пакета нет необходимости вносить изменения в реестр.

Необходимость перезагрузки

Может потребоваться перезагрузить компьютер после установки данного исправления.

Сведения о замене исправлений

Это исправление не заменяет ранее выпущенные исправления.

Глобальная версия этого исправления устанавливает файлы с атрибутами, указанными в приведенных ниже таблицах. Дата и время для файлов указаны в формате UTC. Дата и время для файлов на локальном компьютере отображаются в местном времени с вашим текущим смещением летнего времени (DST). Кроме того, при выполнении определенных операций с файлами, даты и время могут изменяться.

Сведения о файле Windows 8.1 и Windows Server 2012 R2 и заметки

Важно. Windows Server 2012 R2 исправления и исправления Windows 8.1 включаются в тех же самых пакетов. Однако исправления на странице запроса исправлений перечислены под обеими операционными системами. Для получения пакета исправлений, который применяется к одной или обеих операционных систем, установите исправления, перечисленные в разделе «Windows 8.1/Windows Server 2012 R2» на странице. Всегда смотрите раздел «Информация в данной статье относится к следующим продуктам» статьи для определения фактических операционных систем, к которым применяется каждое исправление.

  • Файлы МАНИФЕСТА (.manifest) и MUM (.mum), устанавливаемые для каждой среды

    указаны отдельно в разделе «сведения о дополнительных файлах для Windows 8.1 и Windows Server 2012 R2». MUM, MANIFEST и связанные файлы каталога безопасности (.cat) очень важны для поддержания состояния обновленных компонентов. Файлы каталога безопасности, для которых не перечислены атрибуты, подписаны цифровой подписью корпорации Майкрософт.

Для всех поддерживаемых 32-разрядных версий Windows 8.1

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Ftpconfigext.dll

8.5.9600.17725

16,896

11-Mar-2015

01:05

x86

Ftpctrlps.dll

8.5.9600.17725

10,240

11-Mar-2015

01:17

x86

Ftpmib.dll

8.5.9600.17725

10 752

11-Mar-2015

01:15

x86

Ftpres.dll

8.5.9600.16384

14,848

22-Aug-2013

04:16

x86

Ftpsvc.dll

8.5.9600.17725

344,064

11-Mar-2015

00:57

x86

Ftpsvc.mof

Неприменимо

69,990

21-Aug-2013

23:46

Неприменимо

Для всех поддерживаемых 64-разрядных версий Windows 8.1 и Windows Server 2012 R2

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Ftpconfigext.dll

8.5.9600.17725

19,968

11-Mar-2015

01:44

x64

Ftpctrlps.dll

8.5.9600.17725

14,848

11-Mar-2015

01:59

x64

Ftpmib.dll

8.5.9600.17725

13,312

11-Mar-2015

01:56

x64

Ftpres.dll

8.5.9600.16384

14,848

22-Aug-2013

11:44

x64

Ftpsvc.dll

8.5.9600.17725

393,216

11-Mar-2015

01:33

x64

Ftpsvc.mof

Неприменимо

69,990

22-Aug-2013

06:51

Неприменимо

Сведения о файле Windows 8 и Windows Server 2012 и заметки

Важно. Исправления для Windows Server 2012 и Windows 8 исправления включены в те же пакеты. Однако исправления на странице запроса исправлений перечислены под обеими операционными системами. Чтобы запросить пакет исправлений, который применяется к одной или обеих операционных систем, установите исправление, описанное в разделе «Windows 8 и Windows Server 2012» на странице. Всегда смотрите раздел «Информация в данной статье относится к следующим продуктам» статьи для определения фактических операционных систем, к которым применяется каждое исправление.

  • Файлы МАНИФЕСТА (.manifest) и MUM (.mum), устанавливаемые для каждой среды

    указаны отдельно в разделе «сведения о дополнительных файлах для Windows 7 и Windows Server 2008 R2». MUM, MANIFEST и связанные файлы каталога безопасности (.cat) очень важны для поддержания состояния обновленных компонентов. Файлы каталога безопасности, для которых не перечислены атрибуты, подписаны цифровой подписью корпорации Майкрософт.

Для всех поддерживаемых версий Windows 8 для систем на базе x86

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Ftpconfigext.dll

8.0.9200.16384

15,360

26-Jul-2012

03:18

x86

Ftpctrlps.dll

8.0.9200.16384

10,240

26-Jul-2012

03:18

x86

Ftpmib.dll

8.0.9200.16384

10 752

26-Jul-2012

03:18

x86

Ftpres.dll

8.0.9200.16384

14,848

26-Jul-2012

02:44

x86

Ftpsvc.dll

8.0.9200.21616

319,488

07-Sep-2015

15:17

x86

Ftpsvc.mof

Неприменимо

69,990

25-Jul-2012

20:18

Неприменимо

Для всех поддерживаемых версий x64 под управлением Windows 8 и Windows Server 2012

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Ftpconfigext.dll

8.0.9200.16384

17,920

26-Jul-2012

03:05

x64

Ftpctrlps.dll

8.0.9200.16384

14,336

26-Jul-2012

03:05

x64

Ftpmib.dll

8.0.9200.16384

13,312

26-Jul-2012

03:05

x64

Ftpres.dll

8.0.9200.16384

14,848

26-Jul-2012

02:34

x64

Ftpsvc.dll

8.0.9200.21616

369,664

07-Sep-2015

14:23

x64

Ftpsvc.mof

Неприменимо

69,990

25-Jul-2012

20:16

Неприменимо

Сведения о файле Windows 7 и Windows Server 2008 R2 и заметки

Важно. Исправления для Windows Server 2008 R2 и Windows 7 включены в одни и те же пакеты. Однако исправления на странице запроса исправлений перечислены под обеими операционными системами. Чтобы запросить пакет исправления, который применяется к одной или обеим ОС, установите исправление, описанное в разделе «Windows 7/Windows Server 2008 R2» страницы. Всегда смотрите раздел «Информация в данной статье относится к следующим продуктам» статьи для определения фактических операционных систем, к которым применяется каждое исправление.

  • Файлы МАНИФЕСТА (.manifest) и MUM (.mum), устанавливаемые для каждой среды

    указаны отдельно в разделе «сведения о дополнительных файлах для Windows 7 и Windows Server 2008 R2». MUM, MANIFEST и связанные файлы каталога безопасности (.cat) очень важны для поддержания состояния обновленных компонентов. Файлы каталога безопасности, для которых не перечислены атрибуты, подписаны цифровой подписью корпорации Майкрософт.

Для всех поддерживаемых 86-разрядных версий Windows 7

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Ftpconfigext.dll

7.5.7601.22982

16 384

05-Mar-2015

04:10

x86

Ftpctrlps.dll

7.5.7601.22982

9,728

05-Mar-2015

04:10

x86

Ftpmib.dll

7.5.7601.22982

10,240

05-Mar-2015

04:10

x86

Ftpres.dll

7.5.7601.22982

14,848

05-Mar-2015

04:06

x86

Ftpsvc.dll

7.5.7601.22982

310,272

05-Mar-2015

04:10

x86

Ftpsvc.mof

Неприменимо

69,252

05-Mar-2015

01:25

Неприменимо

Для всех поддерживаемых 64-разрядных версий Windows 7 и Windows Server 2008 R2

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Ftpconfigext.dll

7.5.7601.22982

18,432

05-Mar-2015

04:23

x64

Ftpctrlps.dll

7.5.7601.22982

13,824

05-Mar-2015

04:23

x64

Ftpmib.dll

7.5.7601.22982

12 800

05-Mar-2015

04:23

x64

Ftpres.dll

7.5.7601.22982

14,848

05-Mar-2015

04:19

x64

Ftpsvc.dll

7.5.7601.22982

351,232

05-Mar-2015

04:23

x64

Ftpsvc.mof

Неприменимо

69,252

05-Mar-2015

01:15

Неприменимо

Для всех поддерживаемых версий Windows Server 2008 R2 для систем на базе процессоров IA-64

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Ftpconfigext.dll

7.5.7601.22982

40,960

05-Mar-2015

03:31

IA-64

Ftpctrlps.dll

7.5.7601.22982

22,528

05-Mar-2015

03:31

IA-64

Ftpmib.dll

7.5.7601.22982

23,552

05-Mar-2015

03:31

IA-64

Ftpres.dll

7.5.7601.22982

14,848

05-Mar-2015

03:27

IA-64

Ftpsvc.dll

7.5.7601.22982

786,432

05-Mar-2015

03:31

IA-64

Ftpsvc.mof

Неприменимо

69,252

05-Mar-2015

01:07

Неприменимо

Сведения о дополнительных файлах

Сведения о дополнительных файлах для Windows 8.1 и для Windows Server 2012 R2

Дополнительные файлы для всех поддерживаемых 32-разрядных версий Windows 8.1

Свойства файла

Значение

Имя файла

X86_88477c24b79c92385578f0352a6516ea_31bf3856ad364e35_6.3.9600.17725_none_5ff770c55b197b27.manifest

Версия файла

Неприменимо

Размер файла

698

Дата (UTC)

11-Mar-2015

Время (UTC)

18:44

Платформа

Неприменимо

Имя файла

X86_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.3.9600.17725_none_df4cabbbb108f83e.manifest

Версия файла

Неприменимо

Размер файла

25,960

Дата (UTC)

11-Mar-2015

Время (UTC)

18:48

Платформа

Неприменимо

Дополнительные файлы для всех поддерживаемых версий на базе x64 Windows 8.1 и Windows Server 2012 R2

Свойства файла

Значение

Имя файла

Amd64_4c334a7f318e7e5b0bdf61bacbd3b9cd_31bf3856ad364e35_6.3.9600.17725_none_840b577ca9139d62.manifest

Версия файла

Неприменимо

Размер файла

1,046

Дата (UTC)

11-Mar-2015

Время (UTC)

18:44

Платформа

Неприменимо

Имя файла

Amd64_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.3.9600.17725_none_3b6b473f69666974.manifest

Версия файла

Неприменимо

Размер файла

25,966

Дата (UTC)

11-Mar-2015

Время (UTC)

18:44

Платформа

Неприменимо

Имя файла

Wow64_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.3.9600.17725_none_45bff1919dc72b6f.manifest

Версия файла

Неприменимо

Размер файла

11,518

Дата (UTC)

11-Mar-2015

Время (UTC)

02:14

Платформа

Неприменимо

Сведения о дополнительных файлах для Windows 8 и Windows Server 2012

Дополнительные файлы для всех поддерживаемых версий Windows 8 для систем на базе x86

Свойства файла

Значение

Имя файла

Update.mum

Версия файла

Неприменимо

Размер файла

1,796

Дата (UTC)

07-Sep-2015

Время (UTC)

20:09

Платформа

Неприменимо

Имя файла

X86_45c1a58d100ee3357dacc59a34b0a8c1_31bf3856ad364e35_6.2.9200.21616_none_685dff9493f2bf6a.manifest

Версия файла

Неприменимо

Размер файла

698

Дата (UTC)

07-Sep-2015

Время (UTC)

20:09

Платформа

Неприменимо

Имя файла

X86_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.2.9200.21616_none_47ed5c4a7feacaa3.manifest

Версия файла

Неприменимо

Размер файла

25,960

Дата (UTC)

07-Sep-2015

Время (UTC)

20:13

Платформа

Неприменимо

Дополнительные файлы для всех поддерживаемых версий x64 под управлением Windows 8 и Windows Server 2012

Свойства файла

Значение

Имя файла

Amd64_b087fa0c367f7370602f10d4508f20b2_31bf3856ad364e35_6.2.9200.21616_none_f2e8ac0ad63dacec.manifest

Версия файла

Неприменимо

Размер файла

1,046

Дата (UTC)

07-Sep-2015

Время (UTC)

20:09

Платформа

Неприменимо

Имя файла

Amd64_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.2.9200.21616_none_a40bf7ce38483bd9.manifest

Версия файла

Неприменимо

Размер файла

25,966

Дата (UTC)

07-Sep-2015

Время (UTC)

20:09

Платформа

Неприменимо

Имя файла

Update.mum

Версия файла

Неприменимо

Размер файла

2,014

Дата (UTC)

07-Sep-2015

Время (UTC)

20:09

Платформа

Неприменимо

Имя файла

Wow64_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.2.9200.21616_none_ae60a2206ca8fdd4.manifest

Версия файла

Неприменимо

Размер файла

11,518

Дата (UTC)

07-Sep-2015

Время (UTC)

15:37

Платформа

Неприменимо

Сведения о дополнительных файлах для Windows 7 и Windows Server 2008 R2

Дополнительные файлы для всех поддерживаемых 86-разрядных версий Windows 7

Свойства файла

Значение

Имя файла

X86_e4fb02832e7fb01c91d04ed77281e7c7_31bf3856ad364e35_6.1.7601.22982_none_6e54d57c40f84bd9.manifest

Версия файла

Неприменимо

Размер файла

698

Дата (UTC)

05-Mar-2015

Время (UTC)

18:10

Платформа

Неприменимо

Имя файла

X86_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.1.7601.22982_none_4cae5c2b0d3b3de6.manifest

Версия файла

Неприменимо

Размер файла

29,360

Дата (UTC)

05-Mar-2015

Время (UTC)

04:38

Платформа

Неприменимо

Дополнительные файлы для всех поддерживаемых 64-разрядных версий Windows 7 и Windows Server 2008 R2

Свойства файла

Значение

Имя файла

Amd64_b93790dbe7a40a5efb8702b6f12cedf6_31bf3856ad364e35_6.1.7601.22982_none_d9aeae6490df6469.manifest

Версия файла

Неприменимо

Размер файла

1,046

Дата (UTC)

05-Mar-2015

Время (UTC)

18:11

Платформа

Неприменимо

Имя файла

Amd64_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.1.7601.22982_none_a8ccf7aec598af1c.manifest

Версия файла

Неприменимо

Размер файла

29,366

Дата (UTC)

05-Mar-2015

Время (UTC)

04:48

Платформа

Неприменимо

Имя файла

Wow64_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.1.7601.22982_none_b321a200f9f97117.manifest

Версия файла

Неприменимо

Размер файла

11,568

Дата (UTC)

05-Mar-2015

Время (UTC)

04:33

Платформа

Неприменимо

Дополнительные файлы для всех поддерживаемых версий Windows Server 2008 R2 с архитектурой IA-64

Свойства файла

Значение

Имя файла

Ia64_157ca3abf4ced819a8b64f4c9aa67d48_31bf3856ad364e35_6.1.7601.22982_none_8bde54fca1a45ba4.manifest

Версия файла

Неприменимо

Размер файла

1,044

Дата (UTC)

05-Mar-2015

Время (UTC)

18:10

Платформа

Неприменимо

Имя файла

Ia64_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.1.7601.22982_none_4cb000210d3946e2.manifest

Версия файла

Неприменимо

Размер файла

29,363

Дата (UTC)

05-Mar-2015

Время (UTC)

04:21

Платформа

Неприменимо

Имя файла

Wow64_microsoft-windows-iis-ftpsvc_31bf3856ad364e35_6.1.7601.22982_none_b321a200f9f97117.manifest

Версия файла

Неприменимо

Размер файла

11,568

Дата (UTC)

05-Mar-2015

Время (UTC)

04:33

Платформа

Неприменимо

Статус

Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе «Относится к».

Ссылки

См. термины , которые корпорация Майкрософт использует для описания обновлений программного обеспечения.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Мне нужно загрузить файл через ftp на хост. Путь /home2/travele2, созданный в корневом каталоге хоста
Изображение 392847

Я могу загрузить файл через программу FileZilla на хост, но когда я пытаюсь загрузить файл через веб-сайт, он получает мне эту ошибку:

Удаленный сервер возвратил ошибку: (550) Файл недоступен (например, файл не найден, нет доступа).

В чем проблема?

// Get the object used to communicate with the server.  
FtpWebRequest ftpWebRequest = (FtpWebRequest)WebRequest.Create("ftp://00.00.00.00/home2/travele2");
ftpWebRequest.Method = WebRequestMethods.Ftp.UploadFile;
// This example assumes the FTP site uses anonymous logon.  
ftpWebRequest.Credentials = new NetworkCredential("aaaaaaa", "0000000");

// Copy the contents of the file to the request stream.  
StreamReader sourceStream = new StreamReader(Server.MapPath("/Content/Site.pdf"));
byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
sourceStream.Close();
ftpWebRequest.ContentLength = fileContents.Length;

Stream requestStream = ftpWebRequest.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();

FtpWebResponse response = (FtpWebResponse)ftpWebRequest.GetResponse();

Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription);

response.Close();

Изображение 392853

Я создал небольшое приложение для форм Windows, чтобы загрузить файл на один из ftp-сайтов нашего клиента. Но проблема, с которой я столкнулся, заключается в том, что когда я запускаю это приложение на своем локальном компьютере, оно успешно загружает файл. Но если я запускаю эту программу на нашем сервере, я получаю это сообщение об ошибке;

удаленный сервер возвратил ошибку: (550) Файл недоступен (например, файл не найден, нет доступа к файлу), в этой строке ‘objFTPRequest.GetRequestStream ();’.

Кто-нибудь знает почему? Мне нужно настроить брандмауэр или что-то в этом роде? Вот мой код;


Эта ошибка может быть вызвана несколькими причинами, такими как файл отсутствует на сервере, разрешения безопасности для файла и т. Д.

Для начала нужно выяснить точную причину ошибки. Это может быть достигнуто с помощью следующего кода:


Как только вы выясните точную причину ошибки, вы можете приступить к ее устранению.

Вот несколько ссылок, по которым вы можете сослаться

http://forums.asp.net/t/1777881.aspx/1

http://nickstips.wordpress.com/2010/10/25/c-ftp-upload-error-the-remote-server-returned-an-error-550-file-unavailable-eg-file-not-found- нет доступа/

http://www.dreamincode.net/forums/topic/76361-file-upload-to-server/

http://forums.asp.net/t/1374306.aspx/1

  • Привет еще раз. Спасибо. Фактическое сообщение об ошибке — 550 Доступ запрещен. Я дал своей папке полное разрешение, кроме «Особого разрешения». Есть ли другая возможная причина, кроме «специального разрешения»?
  • 2 Привет, ребята. Я не выиграл. Я решил разместить это приложение на другом компьютере. Работает нормально. Спасибо.
  • Эта ошибка может возникнуть, если у вас недостаточно прав или каталог в запросе отсутствует. как файлы в xxx.xxx.xxx.xxx/files
  • 1 Какой полезный совет, я ловил только событие «Исключение», теперь я ясно вижу, что означает ошибка! Спасибо

Попробуйте это: ftp: //xxx.xxx.xx.xx: 21 // путь / имя файла

«//» после адреса сервера запускает вас в корневом каталоге. Несмотря на то, что у меня было: ftp: //xxx.xxx.xx.xx: 21 / path / filename, это не привело меня в правильный каталог.

  • 1 Это так ужасно, но на самом деле у меня это сработало — я потрясен и полагаю, что это должно быть ошибкой, но спасибо.
  • 2 Потрясающе! Это фактически решило проблему. Слава богу, ты это написал. Никогда бы не догадался об этом за миллион лет.
  • Тоже столкнулся с проблемой. Отличный совет, никогда бы не попробовал.
  • Это должно быть ошибкой в ​​исполняемом файле MS FTP. Я видел последовательные случайные сбои при передаче более длинных путей к файлам на конечную точку FTP IIS. Вышеупомянутое исправило их.

Я столкнулся с той же проблемой, и вот что я сделал:

  1. Проверить ОС имеет право писать. Найдите папку ftp => щелкните правой кнопкой мыши => свойства => безопасность, тогда вы должны знать, что вам следует делать
  2. Проверьте ftp-сервер и откройте права записи для пользователя, которого вы вошли в систему. Откройте IIS => щелкните сайт ftp => Правила авторизации ftp => добавьте разрешающие правила => выберите пользователя или группу для установки прав
  3. Проверьте каталог на ftp-сервере, проделайте то же самое с пунктом 2.

Я могу использовать четыре изображения, чтобы показать права, которые нужно установить:

  • Привет, Фрэнсис. Я попробую ваше предложение. Я дам тебе знать, как только приду правильно. Спасибо
  • 1 Не забудьте установить разрешения для дочерних папок. Вы можете установить разрешения для самой верхней папки и унаследовать эти разрешения до дочерних папок: перейдите в ftp-папку верхнего уровня => щелкните правой кнопкой мыши => свойства => безопасность => расширенный => выберите пользователя => измените разрешения => редактировать разрешения (при необходимости) И «включить унаследованные разрешения от родительского объекта»

Могло быть проще.

Я столкнулся с аналогичной проблемой, и я попробовал все предложенные решения, но никто не работал. Я выясняю это простым способом: посмотрите

Неверный код на моем конце


Измените его на этот простой:


затем обработать запрос на заполнение и отправить на сервер :)

Вот и все.

Убедитесь, что все разрешения на сервере работают нормально и вы используете правильные учетные данные.

  • Хорошо подмечено! У меня была эта проблема, и я просмотрел приведенные здесь ссылки, но они не помогли. Так или иначе, причина комментария в том, что официальная документация Microsoft неверна. Я последовал этому примеру: msdn.microsoft.com/en-us/library/ms229715(v=vs.110).aspx К адресу запроса добавляется суффикс с расширением «.htm» и загружается текстовый файл. Я просто подумал, что страница была ошибкой, а не типом расширения. Остерегайтесь всех, кто следует приведенному выше примеру Microsoft! С уважением, Мэтт

Чтобы решить эту проблему, необходимо заставить команду System.Net.FtpWebRequest вернуться к старому поведению, которое использовалось для работы в .Net Framework 2.0 / 3.5, и выполнить дополнительную команду CWD перед вводом фактической команды .

Для этого перед вызовом любого экземпляра класса System.Net.FtpWebRequest необходимо разместить следующий код. Приведенный ниже код нужно вызвать только один раз, так как он изменяет настройки всего домена приложения.


http://support.microsoft.com/kb/2134299

Когда у меня была такая же проблема, я попробовал все, что указано выше, и через день я понял, что путь, который я создал для uri, имеет пробел между «/» и именем папки


указанная выше строка должна быть


эта небольшая ошибка также вызывает ту же ошибку, и это допустимая ошибка, потому что это недопустимый путь для нашего файла, если он содержит какие-либо пробелы между «/» и именем папки / файла.

У меня тоже недавно была эта проблема. Я обнаружил, что когда я использую ftpUploadFile, процедура пытается поместить файл в корневую папку ftp. Обычная командная строка ftp работала нормально. Однако выполнение команды pwd из командной строки ftp показало, что этот конкретный сервер устанавливал другой текущий каталог при входе в систему. Изменение моего ftpUploadFile для включения этой папки решило проблему.

У меня была такая проблема. Filezilla была в порядке, .NET — нет. Это было на сервере WordPress. Чтобы заставить его работать, я изменил свой код следующим образом:

ftp://XXX.XXX.XXX.XXX//folder// «+ txtFile.Text

кому:

ftp: // [FTPNAME] @ XXX.XXX.XXX.XXX // «+ txtFile.Text

и теперь это, к счастью, работает.

Я не знаю, относится ли это к папкам FTP WordPress.

Я нашел решение. Проблема заключается в текущем рабочем каталоге пользователя ftp. Если вы вводите URL-адрес, например ftp: ///path/test.txt, он используется как относительный путь к рабочему каталогу. Например, CWD — это / test, тогда используемый путь — /test/path/test.txt. Если вы хотите использовать абсолютный путь, вам нужно ввести URL-адрес, например ftp: ////path/test.txt. Затем файл загружается в папку /path/test.txt без исключения.

Просто чтобы бросить шляпу на ринг, я получал ту же ошибку. Когда FTPRequest запрашивал файлы у службы FTP на том же компьютере (с тем же IP). В запросе я использовал IP-адрес машины, но как только я изменил его на 127.0.0.1, все заработало. что интересно, запросы с других IP-адресов обрабатывались, а файлы загружались, но не от него самого.

Надеюсь, это кому-то помогло.

У меня была такая же проблема, когда я сравнивал с ftpuri и User Name Path, она решена. Когда я создаю ftp-доступ, я выбрал путь как / имя каталога

в ftpuri, когда я включил имя каталога, он дал ошибку, и когда я удалил имя каталога, он разрешен.

ftpuri с ошибкой

«ftp://www.example.com/Project/yourfilename.ds»

ftpuri решен

«ftp://www.example.com/yourfilename.ds»

Папка ftp-доступа «/ Project»

Убедитесь, что целевая папка «исходящие» существует. Это была моя проблема с ошибкой 550.

Просто создайте целевой каталог «output» перед загрузкой.


В моем случае в моем ftp-адресе отсутствовала корневая папка. После создания папки проблема была решена.

ftp: //xxx.xxx.xx.xx: 21 // корневая папка /

У меня тоже была такая же проблема. После мониторинга трафика с помощью WireShark я понял проблему

Я настроил новый FTP-сайт на моем локальном FTP-сервере IIS с именем ‘testftp’. Сайт ‘testftp’ указывал на папку с именем d: ftp на жестком диске моего компьютера. Я получал ошибку ‘550’ всякий раз, когда пытался выполнить строку, выделенную жирным шрифтом в коде C # ниже ftpHostURL = «ftp://127.0.0.1/testftp/test.htm»; request = (FtpWebRequest) WebRequest.Create (ftpHostURL); request.Proxy = новый веб-прокси (); // —— Обход прокси (запрошенная команда FTP не поддерживается при использовании прокси HTTP)


Я пробовал много решений, упомянутых на разных сайтах, но ничего не помогло. Затем я наткнулся на сайт, который предлагал использовать WireShark для мониторинга трафика.

При мониторинге трафика с помощью утилиты RawCap я увидел, что приложение пытается выполнить приведенный ниже код.

СТОР testftp / test.htm

Тогда я понял проблему. IIS ожидал папку с именем ‘testftp‘находиться в корневой папке ftp, которой там не было. Я думал ‘testftp‘как имя виртуальной папки, созданной в IIS, где IIS понимал ее как папку в корне FTP.

Создание папки с именем ‘testftp‘в корневой папке FTP решил мою проблему.

Надеюсь, это кому-то поможет

С уважением, Мэтью

  • Удаленный сервер возвратил ошибку 530 вход не выполнен
  • Удаленный сервер возвратил ошибку 522
  • Удаленный сервер возвратил ошибку 504 истекло время ожидания шлюза
  • Удаленный сервер возвратил ошибку 503 сервер недоступен
  • Удаленный сервер возвратил ошибку 503 запрещено