C# - 文件上传到服务器后损坏

2023-11-29

我使用以下源代码上传文件excel和pdf,但是将文件移动到服务器后,文件已损坏。我认为问题出在编码过程上Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());,但我不知道如何解决。

public static void sampleUpload()
    {
        // Get the object used to communicate with the server.
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://100.165.80.15:21/output/Group Dealer, Main Dealer, Zone, Branch, and Destination Report_20120927105003.pdf");
        request.Method = WebRequestMethods.Ftp.UploadFile;

        // This example assumes the FTP site uses anonymous logon.
        request.Credentials = new NetworkCredential("toc", "fid123!!");

        // Copy the contents of the file to the request stream.
        StreamReader sourceStream = new StreamReader("D:\\Group Dealer, Main Dealer, Zone, Branch, and Destination Report_20120927105003.pdf");
        byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
        sourceStream.Close();
        request.ContentLength = fileContents.Length;

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

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

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

        response.Close();
    }

不要将二进制文件作为文本读取。使用流.复制到方法(或等效代码,如果您不能使用 .Net 4.0)

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

C# - 文件上传到服务器后损坏 的相关文章

  • boost::multi_index_container 复合键中的 equal_range 与比较运算符

    我正在尝试从多索引容器查询结果 其中值类型是三个元素的结构 第一个值已给出 但第二个和第三个值必须大于或小于查询参数 经过搜索后 我发现必须实现自定义密钥提取器 并且这里的一些链接建议相同 但我无法实现它 boost multi index
  • C++:无法使用scoped_allocator_adaptor传播polymorphic_allocator

    我有一个vector
  • Signalr 在生产服务器中总是陷入长轮询

    当我在服务器中托管应用程序时 它会检查服务器端事件并始终回退到长轮询 服务器托管环境为Windows Server 2012 R1和IIS 7 5 无论如何 我们是否可以解决这个问题 https cloud githubuserconten
  • 如何在C++中实现模板类协变?

    是否可以以这样一种方式实现类模板 如果模板参数相关 一个对象可以转换为另一个对象 这是一个展示这个想法的例子 当然它不会编译 struct Base struct Derived Base template
  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • 写入和读取文本文件 - C# Windows 通用平台应用程序 Windows 10

    有用 但在显示任何内容之前 您必须在文本框中输入内容 我想那是因为我使用了 TextChanged 事件处理程序 如果我希望它在没有用户交互的情况下显示文本文件的内容 我应该使用哪个事件处理程序 因此 我想在按下按钮时将一些数据写入 C W
  • c# Asp.NET MVC 使用FileStreamResult下载excel文件

    我需要构建一个方法 它将接收模型 从中构建excel 构建和接收部分完成没有问题 然后使用内存流导出 让用户下载它 不将其保存在服务器上 我是 ASP NET 和 MVC 的新手 所以我找到了指南并将其构建为教程项目 public File
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • 使用安全函数在 C 中将字符串添加到字符串

    我想将文件名复制到字符串并附加 cpt 但我无法使用安全函数 strcat s 来做到这一点 错误 字符串不是空终止的 我确实设置了 0 如何使用安全函数修复此问题 size strlen locatie size nieuw char m
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • 线程、进程和 Application.Exit()

    我的应用程序由主消息循环 GUI 和线程 Task Factory 组成 在线程中我调用一些第三方应用程序var p new Process 但是当我调用Application Exit 在消息循环中 我可以看到在线程中启动的进程仍在内存中
  • 初始化变量的不同方式

    在 C 中初始化变量有多种方法 int z 3 与 int 相同z 3 Is int z z 3 same as int z z 3 您可以使用 int z z 3 Or just int z 3 Or int z 3 Or int z i
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 如何使用 afnetworking 在后台上传任务

    我正在尝试使用 AFNetworking 上传大文件 并在应用程序处于后台时继续上传 我可以很好地上传文件 但是当我尝试使用后台配置时 应用程序崩溃并显示以下堆栈跟踪 异常 EXC BAD ACCESS 代码 1 地址 0x8000001f
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • 如何在内存中存储分子?

    我想将分子存储在内存中 这些可以是简单的分子 Methane CH4 C H bond length 108 7 pm H H angle 109 degrees But also more complex molecules like p
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • 在 ASP.NET 中将事件冒泡为父级

    我已经说过 ASP NET 中的层次结构 page user control 1 user control 2 control 3 我想要做的是 当控件 3 它可以是任何类型的控件 我一般都想这样做 让用户用它做一些触发回发的事情时 它会向

随机推荐

  • Ionic 2 - 屏幕闪光

    我有一个登录页面和一个主页 我使用本机存储来设置一个项目 该项目将检查用户是否已经登录 Facebook 或 Google 身份验证 如果该项目有一个值 此检查发生在 app componenet ts 中 它将直接导航到主页 一旦用户登录
  • 如何从Python列表中删除偶数? [复制]

    这个问题在这里已经有答案了 我正在尝试从列表中删除偶数 我的最终输出是 4 8 但它应该是空的 list 2 4 6 8 10 for i in list divid i 2 if divid 0 list remove i print l
  • 如何在路由参数中发送 URL?

    我定义了这样的路线 app gt map GET POST abc url function request response args return response gt add new CustomMiddleware 当我传递一个没
  • 当更改为使用可选链接替换快速强制展开时有什么区别?

    当调用对象实例的函数时 该对象可能不存在 可选类型 看来你总是可以在对象名称后面加上问号 而不是在对象名称后面加上感叹号 并且不会崩溃 window rootViewController containerViewController fo
  • Visual C# 中的“全局变量”

    我已经制作了 Graph 类 我想模拟一个分发网络 该图 100 有效 但是 我想在我的所有应用程序中使用相同的结构 类 例如 我有显示模拟的 Form1 但我想插入节点 例如 但我想在 Form2 中执行此操作 由于数据始终位于同一个类中
  • Flutter 构建 CI 出现错误程序类型已存在:com.google.common.util.concurrent.ListenableFuture

    在 CI CD 中构建 flutter 时出现一些错误 我使用alvrme alpine android android 29作为建设者 我尝试在本地运行它flutter build apk split per abi它运行良好 这是我的a
  • “intaccidents[5]”的声明掩盖了参数错误

    我是 C 新手 找不到任何解决此错误的方法 据我所知 我没有重载任何变量来造成命名冲突 这是我在网上可以找到的最接近原因的事情 任何帮助将非常感激 include
  • 使用 Jquery mobile 的 ListView 中的复选框

    我开始学习 HTML5 和 CSS 使用 Jquery Mobile 因为我在这个领域没有太多背景 所以我陷入了一些非常简单的事情 我想在列表视图中放置一个复选框 在每个里 我怎样才能做到这一点才能看起来像这样 http a4 mzstat
  • 在PyQt5中,如何将普通的QLineEdit(文本框)转换为完美的大写/大写QLineEdit框?

    如何转换我的QLineEdit 入门级大写或全部大写 如果我在文本框 QLineEdit 中输入字符串 它会根据用户定义的方法自动将输入字符串转换或格式化 大写或大写 import sys from PyQt5 QtWidgets impo
  • Visual Studio 初始化时状态栏中出现奇怪的图标

    当我构建项目时 Visual Studio 2015 花了很长时间 状态栏如下所示 该图标是动画的 箭头向下移动 而小盒子落入开放的正方形中 如果我不得不猜测 这意味着 VS 正在尝试下载某些东西 包 但卡在某个地方 这个图标到底是什么意思
  • 如何在 IntelliJ IDE 中将 Spark 与 Scala 项目集成?

    我正在使用 IntelliJ IDE 来玩 Scala 和 Spark 在此 IDE 中 我使用 Scala 对象创建了一个 Scala 项目 见图 我使用了示例回归代码web site 我还以非 Maven 用户身份从 GitHub 下载
  • codeigniter 默认控制器 url 路由

    我正在组建一个简单的网站 并希望 URL 的工作方式与 facebook 类似 因此通过输入 domain com username 我将获得用户个人资料 我已经可以这样做了 登录的用户个人资料位于 domain com 其他用户个人资料位
  • 如何在java中从10到1倒序打印计数?

    我想打印相反的计数顺序 我怎样才能在java中做到这一点 我尝试了一些代码但没有成功 import java util public class reversecount public static void main String arg
  • tkinter 中的标题栏菜单

    我想我们大多数人一定见过命令提示符 Windows 以及当我们打开它并单击它的图标时它会显示一个菜单 我们可以用 tkinter 做类似的事情吗 这不是正常的菜单栏 这是命令提示符之一的说明 这只是一个解决方法的示例 无需您自己进行所有窗口
  • java linkedhashmap迭代

    我有两个哈希图 LinkedHashMap
  • 如何在java应用程序中显示html?

    现在我正在致力于用 Java 实现浏览器 我需要在 JFrame 窗口内显示网站的内容 提供 url 地址 有没有一种简单的方法可以做到这一点 我尝试了JEditorPane 但它只支持HTML 3 2 所以网站的内容看起来很奇怪 Than
  • Java - 连接关闭后无法使用 ResultSet

    我在关闭与 MySQL 的连接时遇到问题 我收到错误 java sql SQLException 结果集关闭后不允许执行操作 My code public static ResultSet sqlquery String query Res
  • 依赖注入和实体框架

    我正在使用 MVVM light 及其 Ioc 来做一个 wpf 应用程序SimpleIoc 我实现了这样的存储库模式 public interface ICrud
  • 解释双重检查锁定中的竞争条件

    void undefined behaviour with double checked locking if resource ptr 1 std lock guard
  • C# - 文件上传到服务器后损坏

    我使用以下源代码上传文件excel和pdf 但是将文件移动到服务器后 文件已损坏 我认为问题出在编码过程上Encoding UTF8 GetBytes sourceStream ReadToEnd 但我不知道如何解决 public stat