我应该检查 WebClient.UploadFile 的响应来了解上传是否成功吗?

2024-02-15

我以前从未使用过WebClient,我不确定是否应该检查服务器的响应以了解上传是否成功,或者如果没有异常我是否可以让文件上传。

如果我应该检查回复,我该怎么做?解析 resposeHeaders 属性?

提前致谢。


The UploadFile方法返回一个byte[]包含远程服务器返回的响应。根据服务器管理上传请求响应的方式(以及错误条件(参见下面的注释 1)),您将需要检查该响应。您可以通过将字符串响应转换为字符串来获取字符串响应,例如这会将响应写入控制台窗口:

byte[] rawResponse = webClient.UploadFile(url,fileName);
Console.WriteLine("Remote Response: {0}", System.Text.Encoding.ASCII.GetString(rawResponse));

也就是说,如果远程服务器返回除HTTP 200(即成功)对 UploadFile 的调用将抛出 WebException。您可以以最适合您的应用程序的方式捕获并处理它。

所以把所有这些放在一起

try
{
    WebClient webClient = new WebClient();
    byte[] rawResponse = webClient.UploadFile(url,fileName);

    string response = System.Text.Encoding.ASCII.GetString(rawResponse);

    ...
    Your response validation code
    ...
}
catch (WebException wexc)
{
    ...
    Handle Web Exception
    ...
}

Note 1举个例子,我有一个文件上传服务,除了 HTTP 200 代码之外,永远不会发出任何其他错误,所有错误都会在服务中捕获,并将这些错误“解析”为返回给调用者的 XML 结构。然后,调用者解析该 XML 以验证上传是否成功。

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

我应该检查 WebClient.UploadFile 的响应来了解上传是否成功吗? 的相关文章

  • 静态只读字符串数组

    我在我的 Web 应用程序中使用静态只读字符串数组 基本上数组有错误代码 我将所有类似的错误代码保存在一个数组中并检查该数组 而不是检查不同常量字符串中的每个错误代码 like public static readonly string m
  • 如何从 C# 中的 dataTable.Select( ) 查询中删除单引号?

    所以我有一个经销商名称列表 我正在我的数据表中搜索它们 问题是 一些傻瓜必须被命名为 Young s 这会导致错误 drs dtDealers Select DealerName dealerName 所以我尝试替换字符串 尽管它对我不起作
  • 使用 C# 登录《我的世界》

    我正在尝试为自己和一些朋友创建一个简单的自定义 Minecraft 启动器 我不需要启动 Minecraft 的代码 只需要登录的实际代码行 例如 据我所知 您过去可以使用 string netResponse httpGET https
  • ComboBox DataBinding 导致 ArgumentException

    我的几个类对象 class Person public string Name get set public string Sex get set public int Age get set public override string
  • IdentityServer 4 对它的工作原理感到困惑

    我阅读和观看了很多有关 Identity Server 4 的内容 但我仍然对它有点困惑 因为似乎有很多移动部件 我现在明白这是一个单独的项目 它处理用户身份验证 我仍然不明白的是用户如何注册它 谁存储用户名 密码 我打算进行此设置 Rea
  • 如何在C(Linux)中的while循环中准确地睡眠?

    在 C 代码 Linux 操作系统 中 我需要在 while 循环内准确地休眠 比如说 10000 微秒 1000 次 我尝试过usleep nanosleep select pselect和其他一些方法 但没有成功 一旦大约 50 次 它
  • 函数参数的默认参数是否被视为该参数的初始值设定项?

    假设我有这样的函数声明 static const int R 0 static const int I 0 void f const int r R void g int i I 根据 dcl fct default 1 如果在参数声明中指
  • 从同一个类中的另一个构造函数调用构造函数

    我有一个带有两个构造函数的类 C 这是代码片段 public class FooBar public FooBar string s constructor 1 some functionality public FooBar int i
  • Visual Studio 在构建后显示假错误

    我使用的是 Visual Studio 2017 构建后 sln在调试模式下 我收到错误 但是 当我通过双击错误列表选项卡中的错误来访问错误时 错误会从页面中消失 并且错误数量也会减少 我不太确定这种行为以及为什么会发生这种情况 有超过 2
  • C# 数据表更新多行

    我如何使用数据表进行多次更新 我找到了这个更新 1 行 http support microsoft com kb 307587 my code public void ExportCSV string SQLSyntax string L
  • C# 存档中的文件列表

    我正在创建一个 FileFinder 类 您可以在其中进行如下搜索 var fileFinder new FileFinder new string C MyFolder1 C MyFolder2 new string
  • 在视口中查找 WPF 控件

    Updated 这可能是一个简单或复杂的问题 但在 wpf 中 我有一个列表框 我用一个填充数据模板从列表中 有没有办法找出特定的数据模板项位于视口中 即我已滚动到其位置并且可以查看 目前我连接到了 listbox ScrollChange
  • C++ int 前面加 0 会改变整个值

    我有一个非常奇怪的问题 如果我像这样声明一个 int int time 0110 然后将其显示到控制台返回的值为72 但是当我删除前面的 0 时int time 110 然后控制台显示110正如预期的那样 我想知道两件事 首先 为什么它在
  • C++ 中的双精度型数字

    尽管内部表示有 17 位 但 IEE754 64 位 浮点应该正确表示 15 位有效数字 有没有办法强制第 16 位和第 17 位为零 Ref http msdn microsoft com en us library system dou
  • 等待 IAsyncResult 函数直至完成

    我需要创建等待 IAsyncResult 方法完成的机制 我怎样才能做到这一点 IAsyncResult result contactGroupServices BeginDeleteContact contactToRemove Uri
  • WebBrowser.Print() 等待完成。 。网

    我在 VB NET 中使用 WebBrowser 控件并调用 Print 方法 我正在使用 PDF 打印机进行打印 当调用 Print 时 它不会立即启动 它会等到完成整个子或块的运行代码 我需要确保我正在打印的文件也完整并继续处理该文件
  • OpenGL:仅获取模板缓冲区而没有深度缓冲区?

    我想获取一个模板缓冲区 但如果可能的话 不要承受附加深度缓冲区的开销 因为我不会使用它 我发现的大多数资源表明 虽然模板缓冲区是可选的 例如 排除它以利于获得更高的深度缓冲区精度 但我还没有看到任何请求并成功获取仅 8 位模板缓冲区的代码
  • Objective-C / C 给出枚举默认值

    我在某处读到过关于给枚举默认值的内容 如下所示 typedef enum MarketNavigationTypeNone 0 MarketNavigationTypeHeirachy 1 MarketNavigationTypeMarke
  • 是否可以在不连接数据库的情况下检索 MetadataWorkspace?

    我正在编写一个需要遍历实体框架的测试库MetadataWorkspace对于给定的DbContext类型 但是 由于这是一个测试库 我宁愿不连接到数据库 它引入了测试环境中可能无法使用的依赖项 当我尝试获取参考时MetadataWorksp
  • OpenCV SIFT 描述符关键点半径

    我正在深入研究OpenCV的SIFT描述符提取的实现 https github com Itseez opencv blob master modules nonfree src sift cpp 我发现了一些令人费解的代码来获取兴趣点邻域

随机推荐

  • 上传图片至 Facebook

    我正在尝试将图像上传到 Facebook 粉丝页面上的画廊 这是迄今为止我的代码 ch curl init data array type gt client cred client id gt app id client secret g
  • 批处理文件:返回调用者?

    相当于什么return批处理文件子程序的语句 It is goto eof 对于习惯普通编程语言的人来说 这是不寻常的 这是可以理解的 我找到了这个信息here http www robvanderwoude com call php
  • 使用 pugixml 将现有 xml_node 附加到另一个节点

    如何追加现有的pugi xml node使用 pugixml 进入另一个 我知道的唯一功能是 pugi xml node node root append child child 您应该使用此处描述的克隆功能 http pugixml or
  • 如何让 BOOST_TEST_MESSAGE 显示在屏幕上?

    我正在摸索着 Boost 单元测试框架 并建立了一个基本的功能单元测试 我在用着BOOST TEST MESSAGE让用户知道哪些测试正在运行 但消息不会显示在屏幕上 例如 define BOOST TEST MODULE MyTest i
  • Mysql 从日期时间中剥离时间部分

    我需要在 Mysql 中进行日期比较 而不考虑时间部分 即我需要将 2008 11 05 14 30 00 转换为 2008 11 05 目前我正在这样做 SELECT from days to days my date 有没有正确的方法来
  • 如何获取 woocommerce 国家/地区选择下拉菜单?

    我想在网站上的某些位置显示 woocommerce 国家 地区列表 我如何获得像这样的国家 地区列表作为图像 是的 您可以通过在您想要的任何地方添加以下代码来实现此目的 global woocommerce countries obj ne
  • 无法在 Ubuntu 10.04 上安装 rJava 0.9

    我使用 Ubuntu 10 04 的 CRAN apt 存储库中的 R 2 13 并且我正在尝试安装 Deducer 它需要 JGR rJava 但 rJava 拒绝构建 安装 抱怨无法构建 JNI 应用程序 我试过sudo R CMD j
  • 如何指定用户拥有通过 docker-compose 配置创建的卷?

    我有以下内容docker compose yml version 3 7 services xxx container name xxx image xxx volumes config some mountpoint user 1000
  • 如何在 ASP 形式的 MVC Core 上使用日期选择器

    在我的 MVC 核心 Web 应用程序中 我没有在所有浏览器上看到日期选择器 因此我想使用 jQuery 日期选择器 目前在我的模型中我有 Required Display Name RegisterDate DisplayFormat A
  • 使用 dplyr contains() 根据多个字符串选择列

    我想根据名称选择多个列regex表达 我正在尝试使用管道语法来做到这一点dplyr包裹 我检查了其他主题 但只找到了有关单个字符串的答案 以 R 为基数 library dplyr mtcars grepl m ar names mtcar
  • Spring Boot + Eclipse + Weblogic 12.2.1

    当我通过 Eclipse Neon 在 weblogic 12 2 1 中部署 Spring Boot 应用程序时遇到问题 这是组件 具有 Web 依赖的简单 Spring Boot 应用程序 日食霓虹灯 Weblogic 12 2 1 1
  • 如何在 Android 上重置 viewpager 内容?

    请告诉我如何在 android 上重置 ViewPager 的内容 我尝试调用adapter notifyDataSetChanged 但当我滚动视图时适配器不会调用getItem position 它总是返回旧的子视图 更新 这是我的片段
  • Python 继承中共享类变量

    我对Python继承中的变量共享概念感到困惑 考虑以下代码 class a object var1 0 var2 def print var self print self var1 print self var2 class b a cl
  • 图论中的盒子堆叠

    请帮我找到解决这个问题的好方法 我们有 n 个 3 维的盒子 我们可以调整它们的方向 并且希望将它们放在另一个之上以获得最大高度 如果两个尺寸 宽度和长度 小于下面盒子的尺寸 我们可以将一个盒子放在另一个盒子的顶部 例如 我们有 3 个维度
  • 如何强制 ListBox 重新加载 ListBoxItems 的属性

    有什么方法可以强制 ObservableCollection 触发 CollectionChanged 吗 我有一个 ObservableCollection 对象ListBox项目源 因此每次我向集合中添加 删除项目时 ListBox 都
  • ListFragment 相对于 ListView 或普通 Fragment 的优势

    我有一个活动 其中左侧的项目菜单是文本视图 当用户选择其中一个 textView 时 它会将一个 listView 放置在占据屏幕另外 2 3 的 Activity 的其余区域中 当用户触摸页面左侧菜单上的不同 textView 时 它将打
  • 为什么重载方法中enum参数不能接受int值(>0)

    这是我的代码 public class Program public enum SexEnum Male Female public static void Test SexEnum s Console WriteLine enum pub
  • 匹配两张图片之间的颜色主导的最佳策略是什么?

    我需要匹配两张不同图片之间的主色 使它们尽可能相似 例如 我想将下面孩子的灰度图片与士兵的棕褐色图片相匹配 并补偿对比度和闪电 到目前为止 我正在考虑将图片转换为YCrCb 并匹配Y通道直方图上的对比度和其他通道中的颜色 我也必须在彩色图片
  • 如何使用 setuptools/distutils 包含包数据?

    使用 setuptools 时 我无法让安装程序拉入任何内容package data https pythonhosted org setuptools setuptools html including data files文件 我读过的
  • 我应该检查 WebClient.UploadFile 的响应来了解上传是否成功吗?

    我以前从未使用过WebClient 我不确定是否应该检查服务器的响应以了解上传是否成功 或者如果没有异常我是否可以让文件上传 如果我应该检查回复 我该怎么做 解析 resposeHeaders 属性 提前致谢 The UploadFile方