首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >WebClient.DownloadFile莫名其妙的行为

WebClient.DownloadFile莫名其妙的行为
EN

Stack Overflow用户
提问于 2016-02-12 05:11:43
回答 1查看 62关注 0票数 1

在我的控制台应用程序中,我正在从给定的URL下载一个..xlsx文件。如果我将下载路径设置为"C:\Temp\Test.xlsx“,则下载工作正常,并且可以在Excel中打开该文件。但是,如果我将路径设置为"C:\SomeFolder\SomeSubfolder\Test.xlsx“,就会在指定的位置得到一个名为'Test.xlsx‘的文件夹。

下面是我下载文件的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public void DownloadFile(string sourceUrl, string targetPath
{
    try
    {
        CreateDirectoryIfNotExists(targetPath);

        using (WebClient webClient = new WebClient())
        {
            webClient.UseDefaultCredentials = true;
            webClient.DownloadFile(sourceUrl, targetPath);
        }
    }
    catch(Exception e)
    {
        Console.WriteLine(e.Message);
        Console.Write(e);
        Console.ReadLine();
    }
}

下面是我创建目录的方法,如果目录还不存在的话:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private void CreateDirectoryIfNotExists(string targetPath)
{
    if (!System.IO.Directory.Exists(System.IO.Path.GetDirectoryName(targetPath)))
    {
        System.IO.Directory.CreateDirectory(targetPath);
    }
}

targetPath设置为“C:\Temp\Test.xlsx”的结果:

targetPath设置为“C:\SomeFolder\SomeSubfolder\Test.xlsx”的结果:

是否有理由将我的文件保存为文件夹而不是文件?

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-12 05:31:05

您正在从目标路径创建目录。更改这一行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
System.IO.Directory.CreateDirectory(targetPath);

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
System.IO.Directory.CreateDirectory(new System.IO.FileInfo(targetPath).DirectoryName));
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35363496

复制
相关文章
ionic莫名其妙的“cordova/platform_metadata”
我的Cordova升级到8已经很久了,而且在此环境下原有的项目跑得好好的,所以别人说有问题需要把Corodva降级到7.1或者7.0时,我不置可否。
IT晴天
2018/08/20
6300
莫名其妙的噪声都是怎么来的?
这几天心里颇不宁静,今晚在院子里坐着乘凉,忽然想起往日一同攻坚的战友,在这满月的光里,该是另一番样子吧。
工程师看海
2023/05/24
1660
莫名其妙的噪声都是怎么来的?
一次莫名其妙的故障……
前几天,我看到新闻,说是日本、加拿大等地接连爆出通信网络故障,引发了大规模的网络中断。心惊之余,我也想起,就在不久前,我也遇到了一个非常诡异的网络故障,差点引发重大事故。
鲜枣课堂
2022/10/05
3310
关于对象莫名其妙的面试题
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html> <script> //首先,创建a对象 var a = {n:1}; console.log("输出a此时的状态"); console.log(a); //把对象a的引用地址,赋值给变量b,这个时候,b指针指向对象a的物理地址,就是引用
李才哥
2019/07/10
2480
关于对象莫名其妙的面试题
网站数据库莫名其妙的掉了?
因为本站站长的服务器不是很大,中规中矩,但这里最令我烦心的是,随便测压,服务器的数据库就会嗝屁。 最近云主机的服务器(CentOS)的数据库(MySQL 5.6.50)无故中断连接,导致部分网站无法访问,这个问题说大不大,说小不小,主要是影响了网站用户的体验,对于搜索引擎来说也不够友好,所以是一个必须处理的问题。
鸣奔博客
2023/03/23
6080
网站数据库莫名其妙的掉了?
姿态估计与行为识别(行为检测、行为分类)的区别[通俗易懂]
姿态估计和行为识别作为计算机视觉的两个领域,对于新人来说,较为容易弄混姿态估计和行为识别两个概念。
全栈程序员站长
2022/06/24
2.7K0
网页的行为
总第62篇 本篇为爬虫基础知识第三篇,JavaScript篇,JavaScript是描述网站行为的,是为了增加与用户的交互,前两篇传送地址: 网页是怎么构成的? 网页的修饰 01|JavaScript是什么: JavaScript 是一种轻量级的编程语言。 JavaScript 是可插入 HTML 页面的编程代码。 JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行,以此来增加HTML页面的交互性。 02|JavaScript怎么用: 1、HTML 中的脚本放在<script>和<
张俊红
2018/04/11
1.4K0
网页的行为
[Silverlight动画]转向行为 - 追捕行为
对于追捕行为,它非常类似寻找行为。其实追捕的最后一个动作就是调用寻找。追捕的本质是预测目标所要到达的位置并事先赶到。 那么,该如何预测目标的位置呢?其实是以目标的当前速度不变为前提,算出未来一段时刻后目标所在的位置。但是需要计算多久的未来才合适呢?我们把这 段时间叫做预测时间(look ahead time)。如果算到很久以后(较长的预测时间)可能就会超越目标,如果只往后算一点点(较短的预测时间)可能仍然落后于目标。而实际上,寻找行为就是一个预测时间为零的追捕行为。 一个策略是基于两机车间的距离来判断预测时
用户1172164
2018/01/16
1.2K0
[Silverlight动画]转向行为 - 寻找行为
寻找行为只是把机车移动到指定点。就像这样: public void seek(Vector2D target) { Vector2D desiredVelocity = target.subtract(_postion); desiredVelocity.normalize(); desiredVelocity = desiredVelocity.multiply(_maxSpeed);
用户1172164
2018/01/16
1.2K0
win10总是莫名其妙卡死怎么解决
win10系统频繁死机怎么办呢?使用电脑时出现最多的问题就是运行卡顿,死机了。虽然有些和我们使用习惯有关,但是最大的影响因素还是软件兼容性以及硬件问题。今天,我就将解决方法分享给你们 win10系统是
用户8002245
2020/12/31
18.9K0
[Silverlight动画]转向行为 - 躲避行为
躲避就是追捕的反行为。就像追捕类似于寻找,躲避类似于避开。 本质上讲,是预测出机车将要去到的位置并远离它。在这里所有的原则都和追捕相同。实际上,就连实现都几乎一模一样,除了最后一行用避开代替寻找: public void evade(Vehicle target) { double lookAheadTime = position.dist(target.position) / _maxSpeed; Vector
用户1172164
2018/01/16
1.1K0
[Silverlight动画]转向行为 - 到达行为
到达行为在很多场合都可以被当作是寻找行为。实际上,它们之间的算法和处理方式都一样。唯一不同的是,在到达模式中,一辆机车在到达目标的某一距离时,会变成一种精确模式慢慢地靠近目标点。 为了了解到达行为的必要性,可以先运行一下SeekTest类,然后移动鼠标到某处让机车过来“抓住”它。会看到机车快速的越过了鼠标,接着它发现过头了,又返回来,还是过头了....于是会一直循环下去。这是因为机车始终保持着最大速度迈向目标,哪怕离目标只有几像素。 到达行为通过减速接近目标,解决了这个问题: public
用户1172164
2018/01/16
1.1K0
[译] 解决 iOS 15 上 APP 莫名其妙地退出登录[译] 解决 iOS 15 上 APP 莫名其妙地退出登录
在 iOS 15 公开推出后, 我们开始从用户端收到反馈报告:在打开我们的应用程序(Cookpad) 时他们被莫名其妙的反复退出到登录页。非常令人惊讶的是,这并不是我们在测试 iOS 15 beta 版的时候发现的问题。
韦弦zhy
2021/12/10
1.6K0
[译] 解决 iOS 15 上 APP 莫名其妙地退出登录[译] 解决 iOS 15 上 APP 莫名其妙地退出登录
带团队:只有人的行为才能影响行为
上级想要下级改变,只有通过自己的行为才能改变下属。我原来写过一篇文章,说管理者如何带团队。说白了就是以身作则。但这里在落地过程中会遇到一些问题。以下六项是需要注意的。
石云升
2022/08/25
4360
[Silverlight动画]转向行为 - 避开行为
避开行为与寻找行为彻底相反。实际上,除了代码最后一行用相减代替了相加以外,其它都一样。 public void flee(Vector2D target) { Vector2D desiredVelocity = target.subtract(_postion); desiredVelocity.normalize(); desiredVelocity = desiredVelocity.multiply(_maxSpeed); Vector2D force = des
用户1172164
2018/01/16
9550
[Silverlight动画]转向行为 - 漫游行为
漫游行为就像它的名字一样,角色在场景中毫无目的的移动。这通常用来模拟巡视和觅食,也有纯粹是为了漫游而漫游的。 漫游行为在实现上不像听起来那么容易。简单的使用随机而产生的布朗运动,会让角色感觉像是一个有神经病的傻瓜。我们需要更自然更平滑的感觉。有个办法,通常 设想在角色前方有个圆,然后把圆上任意一点作为目标,每次更新都向这个随机点移动。由于目标点总是落在假象的圆上,所以转向力永远不会一下子就变化很大。 有几个参数可以调整出不同的漫游的风格:圆的尺寸,圆离开角色的距离,目标点的随机范围。 漫游函数:
用户1172164
2018/01/16
1.1K0
golang 的channels 行为
当我第一次使用 Go 的 channels 工作的时候,我犯了一个错误,把 channels 考虑为一个数据结构。我把 channels 看作为 goroutines 之间提供自动同步访问的队列。这种结构上的理解导致我写了很多不好且结构复杂的并发代码。
李海彬
2018/10/08
9920
golang 的channels 行为
delete的奇怪行为
F的实例拥有一个value属性,但不希望在new的时候就初始化属性值(因为这个值不一定用得到,而且计算成本比较高,或者new的时候还不一定能算出来),那么自然想到通过定义getter来实现“按需计算”:
ayqy贾杰
2019/06/12
2.3K0
静态资源不加载、页面404等莫名其妙的idea错误
可能是target中并没有加载出来,这时候需要重新打包
2020/10/23
1.3K0
静态资源不加载、页面404等莫名其妙的idea错误
聊聊jedis的return行为
org/springframework/data/redis/core/RedisTemplate.java
code4it
2023/09/22
3510

相似问题

莫名其妙的行为模式重写

14

莫名其妙的数学图形行为

32

活动堆的莫名其妙的行为

11

Internet与FancyBox的莫名其妙的行为

15

分叉加工与儿童创造:莫名其妙的行为

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文