使用 FtpWebRequest 将文件上传到 FTP 时,远程服务器返回错误:(550)

2024-05-02

I need to upload file via ftp to host. The /home2/travele2 path created on the root of host enter image description here

我可以通过 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();

URL 必须包含目标文件名:

string url = "ftp://ftp.example.com/home2/travele2/Site.pdf";
FtpWebRequest ftpWebRequest = (FtpWebRequest)WebRequest.Create(url);

不然怎么会FtpWebRequest知道,该用什么名字?


一旦解决了这个问题,您就会发现上传损坏了文件,因为您将文件视为 UTF-8 编码文本。什么是废话,因为 PDF 是二进制文件。

正确的代码请参见:
在 C#/.NET 中向 FTP 服务器上传和下载文件 https://stackoverflow.com/q/44606028/850848

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 FtpWebRequest 将文件上传到 FTP 时,远程服务器返回错误:(550) 的相关文章

  • 如何在没有 Control.Invoke() 的情况下从后台线程修改控件属性

    最近 我们遇到了一些旧版 WinForms 应用程序 我们需要更新一些新功能 在专家测试该应用程序时 发现一些旧功能被破坏 无效的跨线程操作 现在 在您认为我是新手之前 我确实有一些 Windows 窗体应用程序的经验 我不是专家 但我认为
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • fgets() 和 Ctrl+D,三次才能结束?

    I don t understand why I need press Ctrl D for three times to send the EOF In addition if I press Enter then it only too
  • 为什么 POSIX 允许在只读模式下超出现有文件结尾 (fseek) 进行搜索

    为什么寻找文件结尾很有用 为什么 POSIX 让我们像示例中那样在以只读方式打开的文件中进行查找 c http en cppreference com w c io fseek http en cppreference com w c io
  • 跨多个控件共享事件处理程序

    在我用 C 编写的 Windows 窗体应用程序中 我有一堆按钮 当用户的鼠标悬停在按钮上时 我希望按钮的边框发生变化 目前我有以下多个实例 每个按钮一个副本 private void btnStopServer MouseEnter ob
  • 使用 C# 在 WinRT 中获取可用磁盘空间

    DllImport kernel32 dll SetLastError true static extern bool GetDiskFreeSpaceEx string lpDirectoryName out ulong lpFreeBy
  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • 基于范围的 for 循环中的未命名循环变量?

    有没有什么方法可以不在基于范围的 for 循环中 使用 循环变量 同时也避免编译器发出有关未使用它的警告 对于上下文 我正在尝试执行以下操作 我启用了 将警告视为错误 并且我不想进行像通过在某处毫无意义地提及变量来强制 使用 变量这样的黑客
  • 使用安全函数在 C 中将字符串添加到字符串

    我想将文件名复制到字符串并附加 cpt 但我无法使用安全函数 strcat s 来做到这一点 错误 字符串不是空终止的 我确实设置了 0 如何使用安全函数修复此问题 size strlen locatie size nieuw char m
  • 线程、进程和 Application.Exit()

    我的应用程序由主消息循环 GUI 和线程 Task Factory 组成 在线程中我调用一些第三方应用程序var p new Process 但是当我调用Application Exit 在消息循环中 我可以看到在线程中启动的进程仍在内存中
  • 像“1$”这样的位置参数如何与 printf() 一起使用?

    By man I find printf d width num and printf 2 1 d width num 是等价的 但在我看来 第二种风格应该与以下相同 printf d num width 然而通过测试似乎man是对的 为什
  • 网络参考共享类

    我用 Java 编写了一些 SOAP Web 服务 在 JBoss 5 1 上运行 其中两个共享一个类 AddressTO Web 服务在我的 ApplycationServer 上正确部署 一切都很顺利 直到我尝试在我的 C 客户端中使用
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 什么是 C 语言的高效工作流程? - Makefile + bash脚本

    我正在开发我的第一个项目 该项目将跨越多个 C 文件 对于我的前几个练习程序 我只是在中编写了我的代码main c并使用编译gcc main c o main 当我学习时 这对我有用 现在 我正在独自开展一个更大的项目 我想继续自己进行编译
  • char指针或char变量的默认值是什么[重复]

    这个问题在这里已经有答案了 下面是我尝试打印 char 变量和指针的默认值 值的代码 但无法在控制台上看到它 它是否有默认值或只是无法读取 ASCII 范围 include
  • 如何在单击按钮时重新绑定 igGrid igniteUI 控件中的数据?

    我在 ASP NET MVC3 应用程序中使用 Infragistics Ignite UI 控件 我有一个已绑定到 客户 数据的网格 工作正常 现在我有按钮了 单击后我会进行 ajax 调用 在控制器中 我编写了仅选择 客户 数据的一部分
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • GDK3/GTK3窗口更新的精确定时

    我有一个使用 GTK 用 C 语言编写的应用程序 尽管该语言对于这个问题可能并不重要 这个应用程序有全屏gtk window与单个gtk drawing area 对于绘图区域 我已经通过注册了一个刻度回调gtk widget add ti
  • 如何在 C# 中播放在线资源中的 .mp3 文件?

    我的问题与此非常相似question https stackoverflow com questions 7556672 mp3 play from stream on c sharp 我有音乐网址 网址如http site com aud
  • C++ 成员函数中的“if (!this)”有多糟糕?

    如果我遇到旧代码if this return 在应用程序中 这种风险有多严重 它是一个危险的定时炸弹 需要立即在应用程序范围内进行搜索和销毁工作 还是更像是一种可以悄悄留在原处的代码气味 我不打算writing当然 执行此操作的代码 相反

随机推荐

  • 如何禁用 mui 文本字段自动完成?

    我正在使用最新版本的 mui 我有一个包含邮政编码字段的用户联系信息表单 如果值为空 我不希望此字段自动完成 但它会随着浏览器中保存的电子邮件自动完成 这是我到目前为止所尝试过的 自动完成 关闭 自动完成 关闭 自动完成 不 这是我的文本字
  • 使用 Cypher,如何返回仅包含其属性子集的节点

    假设我在 Neo4j 中创建了一个节点 CREATE Thing a foo b bar 我可以编写一个查询来获取该节点及其所有属性 MATCH n Thing a foo RETURN n 返回 a foo b bar 但是是否可以匹配一
  • 如何去掉gridview中的空格

    这件事已经困扰我有一段时间了 我似乎无法解决它 我有一个网格视图 在其中显示一些位图 通过适配器填充图像视图时 我在所有图像侧面添加了 5dp 的填充 iv setPadding 5 5 5 5 但不知何故 每个图像的顶部和底部都添加了更多
  • Android:如何以编程方式打开和关闭屏幕?

    在将这篇文章标记为 重复 之前 我写这篇文章是因为没有其他文章可以解决该问题 我正在尝试关闭设备 然后在几分钟或传感器发生变化后 将其重新打开 关闭显示测试 我可以使用以下方法关闭屏幕 params flags LayoutParams F
  • 在 Google Data Flow 上的 Spring Boot 项目中运行 Apache Beam 管道

    我正在尝试在 Google Data Flow 上的 Spring Boot 项目中运行 Apache Beam 管道 但我一直遇到此错误Failed to construct instance from factory method Da
  • 如何在 BlobStore 中设置文件名属性?

    我正在以编程方式上传图像文件并想要设置文件名 当我通过 POST 上传文件时 文件名属性会自动设置 但是 当使用下面的方法时 文件名未设置 image urllib2 urlopen url file name files blobstor
  • Google Play 商店中不支持的设备 - Flutter

    我已将我的应用程序上传到谷歌商店 但我的一些朋友无法安装它 他们得到 您的设备与此版本不兼容 我已经检查了sdk 屏幕尺寸和权限要求 也将uses features required设置为false 但仍然有一些设备无法安装它 我在游戏控制
  • 如何在 ASP.NET MVC 中构建选项卡式菜单?

    我想构建一个与 StackOverflow 的配置文件管理非常相似的选项卡式菜单 选项卡式菜单 StackOverflow http img410 imageshack us img410 3037 image1nw r jpg http
  • 使用 OpenMP 时无用的 printf 没有加速

    我刚刚编写了第一个 OpenMP 程序 它并行化了一个简单的 for 循环 我在双核机器上运行代码 发现从 1 个线程变为 2 个线程时速度有所提高 然而 我在学校 Linux 服务器上运行相同的代码并没有看到加速 在尝试了不同的事情之后
  • UNION ALL mysql 子句中的行默认顺序?..我的意思是,首先提取哪一行?

    例如 如果我有一个真正简单的查询 选择1 联合所有 选择2 然后通过 Perl 或 PHP 获取行 我会将 1 作为第一行 将 2 作为第二行吗 这种行为在任何地方都有描述吗 Thanx 没有默认顺序 无论是在表中还是在查询中 除非您使用
  • 如果循环符号链接没有用,那为什么允许它们呢?

    我刚刚在这里读这篇文章 类 Unix 系统中的循环符号链接有何用途 https stackoverflow com questions 12680821 what are circular symlinks in unix like sys
  • 从 URL 加载 Xml 时出现超时错误

    我正在执行将实时 xml 文件 从实时 url 加载到 XmlDataDocument 的任务 但每次我都会收到错误 操作已超时 代码如下 包含xml feeds的url 我想将其加载到xmlDoc中 XmlDataDocument xml
  • Oracle:在更新具有多列的表的一个字段时复制行

    有没有一种方法可以一般复制一行 特别是在不指定所有列的情况下 在我的情况下 我有一个大表 我想在其中复制除 ID 和另一列之外的所有列 事实上 数据是在年初复制的 该表有 50 多列 因此如果我不必指定所有列 则更改架构会更加灵活和稳健 这
  • 扩展程序上传后,typo3 网站离线[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我刚刚向typo3 网站上传了一个新扩展 该网站就离线了 我收到 500 内部服务器错误 我可以做什么来倒回操作和 或使
  • Windows Unicode C++ 流输出失败

    我目前正在编写一个应用程序 它要求我在任意窗口上调用 GetWindowText 并将该数据存储到文件中以供以后处理 长话短说 我注意到我的工具在 战地 3 上失败了 我将问题范围缩小到窗口标题中的以下字符 http www filefor
  • 动态加载组件 - 设置和通信

    好吧 我有一个 WPF 应用程序 我们称之为Launcher exe 它加载并执行另一个 WPF 应用程序 我们称之为Loaded exe 动态地使用这样的东西 Byte assemblyData using BinaryReader re
  • MongoDB C# 驱动程序创建索引

    我刚刚将 MongoDB 从版本 2 5 0 更新到 2 7 0 Visual Studio 告诉我以下创建索引的方法已过时 protected override Task OnPerformMaintenanceAsync Cancell
  • 使用 python 内置函数进行耦合 ODE

    如果您需要的话 这部分只是背景知识 我正在开发二阶 Kuramoto 模型的数值求解器 下面给出了我用来求 theta 和 omega 导数的函数 n dimensional change in omega def d theta omeg
  • 在 Asp.net Core 中使用 Ajax 验证表单

    我使用 AJAX 将表单发送到 ASP NET Core 中的控制器 但在发送带有验证的表单时遇到问题
  • 使用 FtpWebRequest 将文件上传到 FTP 时,远程服务器返回错误:(550)

    I need to upload file via ftp to host The home2 travele2 path created on the root of host 我可以通过 FileZilla 程序将文件上传到主机 但是当