FtpWebRequest 返回错误 550 文件不可用

2024-01-01

我创建了一个小型 Windows 窗体应用程序,用于将文件上传到我们客户的 ftp 站点之一。但我遇到的问题是,当我在本地计算机上运行此应用程序时,它会成功上传文件。但是如果我在我们的服务器上运行这个程序,我会收到此错误消息;

远程服务器返回错误:(550) 文件不可用(例如,未找到文件,无法访问文件),在此行“objFTPRequest.GetRequestStream();”。

有人知道为什么吗?我需要配置防火墙什么的吗?这是我的代码;

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();

导致此错误的原因有多种,例如服务器上不存在文件、文件的安全权限等。

首先你需要找出错误的确切原因。 这可以通过使用以下代码来实现 -

try
{
        //Your code
}
catch(WebException e)
{
        String status = ((FtpWebResponse)e.Response).StatusDescription;
}

一旦获得错误的确切原因,您就可以继续解决它。

以下是一些您可以参考的链接

http://forums.asp.net/t/1777881.aspx/1 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-e-g-file-not-found-无法访问/ http://nickstips.wordpress.com/2010/10/25/c-ftp-upload-error-the-remote-server-returned-an-error-550-file-unavailable-e-g-file-not-found-no-access/

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

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

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

FtpWebRequest 返回错误 550 文件不可用 的相关文章

  • 通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信

    通信对象System ServiceModel Channels ServiceChannel 无法用于通信 因为它处于故障状态 这个错误到底是什么意思 我该如何解决它 您收到此错误是因为您让服务器端发生 NET 异常 并且您没有捕获并处理
  • 使用实体框架从集合中删除项目

    我正在使用DDD 我有一个 Product 类 它是一个聚合根 public class Product IAggregateRoot public virtual ICollection
  • std::map 和二叉搜索树

    我读过 std map 是使用二叉搜索树数据结构实现的 BST 是一种顺序数据结构 类似于数组中的元素 它将元素存储在 BST 节点中并按其顺序维护元素 例如如果元素小于节点 则将其存储在节点的左侧 如果元素大于节点 则将其存储在节点的右侧
  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • 禁用 LINQ 上下文的所有延迟加载或强制预先加载

    我有一个文档生成器 目前包含约 200 个项目的查询 但完成后可能会超过 500 个 我最近注意到一些映射表示延迟加载 这给文档生成器带来了一个问题 因为它需要根据生成的文档来访问所有这些属性 虽然我知道DataLoadOptions可以指
  • 为什么 FTPWebRequest 或 WebRequest 通常不接受 /../ 路径?

    我正在尝试从 ftp Web 服务器自动执行一些上传 下载任务 当我通过客户端甚至通过 Firefox 连接到服务器时 为了访问我的目录 我必须指定如下路径 ftp ftpserver com AB00000 incoming files
  • 范围和临时初始化列表

    我试图将我认为是纯右值的内容传递到范围适配器闭包对象中 除非我将名称绑定到初始值设定项列表并使其成为左值 否则它不会编译 这里发生了什么 include
  • 两组点之间的最佳匹配

    I ve got two lists of points let s call them L1 P1 x1 y1 Pn xn yn and L2 P 1 x 1 y 1 P n x n y n 我的任务是找到它们点之间的最佳匹配 以最小化它
  • 组合框项目为空但数据源已满

    将列表绑定到组合框后 其 dataSource Count 为 5 但组合框项目计数为 0 怎么会这样 我习惯了 Web 编程 而且这是在 Windows 窗体中进行的 所以不行combo DataBind 方法存在 这里的问题是 我试图以
  • 在 C 中复制两个相邻字节的最快方法是什么?

    好吧 让我们从最明显的解决方案开始 memcpy Ptr const char a b 2 调用库函数的开销相当大 编译器有时不会优化它 我不会依赖编译器优化 但即使 GCC 很聪明 如果我将程序移植到带有垃圾编译器的更奇特的平台上 我也不
  • 使用 AngularJS 多部分表单数据将文件上传到 Google Cloud Storage

    我正在尝试使用 AngularJS 中指定的多部分方法将图像文件上传到 Google Cloud Storagehttps cloud google com storage docs json api v1 how tos upload m
  • C# 搜索目录中包含字符串的所有文件,然后返回该字符串

    使用用户在文本框中输入的内容 我想搜索目录中的哪个文件包含该文本 然后我想解析出信息 但我似乎找不到该字符串或至少返回信息 任何帮助将不胜感激 我当前的代码 private void btnSearchSerial Click object
  • 32位PPC rlwinm指令

    我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
  • 是否有一个 C++ 库可以从 PDF 文件中提取文本,例如 PDFBox for Java? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 去年 我使用 PDFBox 在 Java 中创建了一个应用程序来获取某些 PDF 文件中的原始文本 现在
  • Fluent NHibernate 日期时间 UTC

    我想创建一个流畅的 nhibernate 映射来通过以下方式映射 DateTime 字段 保存时 保存 UTC 值 读取时 调整为本地时区值 实现此映射的最佳方法是什么 就我个人而言 我会将日期存储在 UTC 格式的对象中 然后在读 写时在
  • 如何在 GCC 5 中处理双 ABI?

    我尝试了解如何克服 GCC 5 中引入的双重 ABI 的问题 但是 我没能做到 这是一个重现错误的非常简单的示例 我使用的GCC版本是5 2 如您所见 我的主要函数 在 main cpp 文件中 非常简单 main cpp include
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式
  • 热重载时调用方法

    我正在使用 Visual Studio 2022 和 C 制作游戏 我想知道当您热重新加载应用程序 当它正在运行时 时是否可以触发一些代码 我基本上有 2 个名为 UnloadLevel 和 LoadLevel 的方法 我想在热重载时执行它
  • 如何使用 std::array 模拟 C 数组初始化“int arr[] = { e1, e2, e3, ... }”行为?

    注意 这个问题是关于不必指定元素数量并且仍然允许直接初始化嵌套类型 这个问题 https stackoverflow com questions 6111565 now that we have stdarray what uses are
  • 如何创建向后兼容 Windows 7 的缩放和尺寸更改每显示器 DPI 感知应用程序?

    我是 WPF 和 DPI 感知 API 的新手 正在编写一个在 Windows 7 8 1 和 10 中运行的应用程序 我使用具有不同每个显示器 DPI 设置的多个显示器 并且有兴趣将我的应用程序制作为跨桌面配置尽可能兼容 我已经知道可以将

随机推荐

  • VB6 和 VBA 的替代 IDE [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我已经被 Visual Studio 2008 宠坏了Eclipse https en wikipedi
  • 如何找到覆盖另一个矩形的矩形面积

    我有一个点 xmin ymin xmax ymax 列表 如黑点所示 How to find which are the rectangles that are being covered by another rectangle and
  • 如何在flutter中获取firestore文档的documentid?

    我已尝试以下操作 但它返回一个随机字符串 该字符串不存在于 firestore 中 我确实设法使用查询快照获取父集合的 documentid DocumentReference doc ref Firestore instance coll
  • MSTest 代码覆盖率

    我有一个 Web 服务的测试项目 当我在调试模式下运行测试时 一切正常 但是 当我刚刚运行测试时 对于我尝试获取代码覆盖率的引用程序集 出现以下错误 类初始化方法 WebServiceTest wstest MyClassInitializ
  • NodeJs 文件上传期间停止请求

    我正在编写一个图像上传器 我想将图像的大小限制在 3mb 以下 在服务器端 我可以检查标题中图像的大小 如下所示 使用express app post upload function req res if req headers conte
  • 多线程环境下静态局部变量初始化

    假设有一个函数 可能是成员函数 SomeType foo static SomeType var generateVar return var How var将被初始化 如果foo会同时从多个线程中 第一次 调用吗 是否保证generate
  • ndk-build eclipse 参数:找不到类

    我们正在为 Android 设备开发一个系统 为此 我们使用 FC16 Eclipse SDK NDK 在 Eclipse 中 运行 gt 外部工具 gt 外部收费配置 gt 我们有以下选项卡 Main Location usr java
  • IntelliJ IDEA 在哪里保存本地历史文件?

    我的公司有一项政策 要求在本地开发人员计算机上将源代码保存在加密存储中 IntelliJ IDEA 在哪里保存用于驱动其的代码更改的副本当地历史特色 http www jetbrains com idea features local hi
  • 构建失败 java.lang.OutOfMemoryError: Java 堆空间

    我在构建 build xml 时遇到这个问题 BUILD FAILED java lang OutOfMemoryError Java heap space at java util Arrays copyOf Arrays java 27
  • 捕获模块加载错误并处理它们

    我正在尝试使用 require js 加载一些内容 如果内容不存在 我想捕获错误并通知用户 在萤火虫中我可以看到两个错误 网络错误 404 未找到 然后几秒钟后 var e new Error msg nhttp requirejs org
  • AbstractRoutingDataSource + JPA 不会创建除 defaultTargetDataSource 之外的表

    我使用 JPA 注释 Hibernate 实现 来初始化我的数据库架构 我关注这篇文章动态数据源路由 http blog springsource com 2007 01 23 dynamic datasource routing 实现动态
  • For 循环中的 onClick 事件

    我尝试创建一个循环for 并通过 onclick 事件递增 但它不起作用 var gameCase 9 itemLists game getElementsByTagName li 9 items for var i 0 i lt item
  • 当默认异常处理建议已被另一个建议处理时,如何忽略它

    我目前有一个 ExceptionAdvice 类 它处理所有基本 400 405 404 和其他 异常 例如 我有一个默认建议 它处理所有 MethodArgumentNotValidExceptions 并返回 400 Bad Reque
  • For循环删除行

    我使用的宏列出了我选择的任何目录中的所有文件名 我正在编写代码 将文件名分解为稍后可以使用的块 文件名列表从单元格 F6 开始并沿列向下延伸 这是我到目前为止编写的代码 Dim ContractNum As String Dim InvNu
  • 客户端机器上的hadoop api配置

    超级菜鸟 我有一台带有 cdh3u1 伪发行版的服务器计算机 以及一台带有使用 cdh3u1 API 的 java 应用程序的客户端计算机 如何配置客户端与服务器通信 我已经搜索了几个小时 但找不到 客户端配置 文件在哪里 对我来说 hdf
  • 如何阻止创建 .mdmp 文件

    我有一个由 Tomcat 托管的 Solr 实例 最近开始创建小型转储文件 任何日志中都没有错误 Solr 继续顺利工作 这些文件大约有 14GB 正在填满硬盘 在我们调查问题时 有没有办法关闭此功能 一般来说 当JVM崩溃时的内容hs e
  • 性能计数器 NextValue() 非常慢(1,000+ 计数器)

    在我们的应用程序中 我们使用 Windows 性能计数器来存储一些应用程序指标 稍后在某些 Web 服务中检索这些指标 我对从计数器读取值所需的时间有疑问 我已经查看了应用程序的其余部分 一切都很好 性能方面 但是从循环内的计数器 从列表或
  • 带 OR 的 LINQ WHERE

    我使用 LINQ 创建 where 子句 如下所示 var query from x in context Xs select x if y query query Where x gt x Y 1 我有一堆 如果 哪里 的陈述 我遇到的问
  • 是否可以使用 cognito 的授权代码授予类型作为 api 网关中的授权者?

    我想知道是否有任何方法或可能性可以在保护API网关时将授权代码授予类型实现为Authroizer 根据搜索结果 最推荐使用 授权代码 授予类型来保护 API 我发现下面的文章解释了使用 cognito 客户端凭据 作为授权类型来保护 api
  • FtpWebRequest 返回错误 550 文件不可用

    我创建了一个小型 Windows 窗体应用程序 用于将文件上传到我们客户的 ftp 站点之一 但我遇到的问题是 当我在本地计算机上运行此应用程序时 它会成功上传文件 但是如果我在我们的服务器上运行这个程序 我会收到此错误消息 远程服务器返回