如何获取下载文件的名称

Jony07 2011-05-11 02:51:58
我通过向一个页面传递信息,然后解析他返回的信息。
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(StrUrl);
我想得到它返回的Headers中的filename值。调式的时候,我可以看到返回Headers的信息如下,就是不知如何获取filename值.

Headers
{Content-Disposition: attachment; filename=MapList.zip
Content-Length: 350
Cache-Control: private
....
....
}
我通过long length = request.GetResponse().ContentLength;可以获取文件的大小350。可是我如何获取filename=MapList.zip呢?查了好久没找到对应的方法。
...全文
149 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jony07 2011-05-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 gxingmin 的回复:]
这样应该可以吧
string filename=request.Headers.Get("Content-Disposition").split('=')[1];
[/Quote]
Content-Disposition: attachment; filename=MapList.zip这个Content-Disposition的值是“attachment; filename=MapList.zip”,所以只能用你这种方法了
xiaodru 2011-05-11
  • 打赏
  • 举报
回复
request.Headers.Get("filename")
gxingmin 2011-05-11
  • 打赏
  • 举报
回复
这样应该可以吧
string filename=request.Headers.Get("Content-Disposition").split('=')[1];

gxingmin 2011-05-11
  • 打赏
  • 举报
回复
或者试试
request.Headers.Get(0)
gxingmin 2011-05-11
  • 打赏
  • 举报
回复
你看这样行吗?
string filename=request.Headers.Get("filename")
Jony07 2011-05-11
  • 打赏
  • 举报
回复
这里是有的,但是我想像获取文件大小的方法那样获取
long length = request.GetResponse().ContentLength。
gxingmin 2011-05-11
  • 打赏
  • 举报
回复
Headers
{Content-Disposition: attachment; filename=MapList.zipContent-Length: 350
Cache-Control: private
....
....
}

这里不是有filename=MapList.zip吗?

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧