【发布时间】:2016-06-03 14:15:34
【问题描述】:
我花了大约 3-4 天时间通过堆栈溢出和谷歌搜索引擎对此进行调查。
我的困境是: 我的任务是在 Visual Studio 2015 的 Windows 窗体中显示来自 url 的文件(不确定我是否可以简单地打开它或必须将其保存到文件夹中)。有问题的链接是这个,但由于这个原因无法工作只能通过内部网络或连接的 VPN 访问: http://QualityWorkbench/ivscripts/qwbcgi.dll/docfetch?db=live&id=1090
到目前为止,我已经完成的是,我已经基于此链接构建了 windows 窗体部分,该链接来自一个指向博客链接的堆栈溢出文章:
How to display PDF or Word's DOC/DOCX inside WinForms window?
我构建的内容非常相似,适用于在 url 中具有文件名但不适用于上面提到的 Quality Workbench 链接的链接。一个例子是这样的: http://www.e-iceblue.com/images/test.docx
我到处研究过,各种堆栈溢出文章都谈到了通过 HttpWebResponse 标头检查内容处置,但是当我通过它进行调试时,我看到的唯一标头是这些(与内容处置无关):
标题名称:内容长度,值:411
标题名称:内容类型,值:文本/html
标头名称:Set-Cookie,值:IGS_SessionID=53114;路径=/;过期=格林威治标准时间 2016 年 6 月 3 日星期五 14:01:34,会话 ID=2d794a41-43ce-4c6b-96cc-7a832ac39670;路径=/;过期=格林威治标准时间 2016 年 6 月 3 日星期五 14:01:34
标头名称:服务器,值:Microsoft-IIS/7.5
标题名称:X-Powered-By,值:ASP.NET
我知道我列出的内容非常模糊,因此我很乐意提供任何编码细节或任何人需要破译我的困境的任何信息:如何使用 Visual 从仅以 id 结尾的 url 下载文件工作室 2015 C#。理想情况下打开文件而不保存它并将其显示到窗口形式是我的理想,但我也满足于将文件保存到用户下载文件夹中。
【问题讨论】:
-
您是否尝试过通过 fiddler 等代理打开网址?这将帮助您了解到底发生了什么。您提到 Content-Type 是 text/html。如果您希望使用 .docx,则内容类型应为
application/vnd.openxmlformats-officedocument.wordprocessingml.document我的猜测是您使用的网址不正确。 -
我没有。我不知道提琴手是什么,尽管我会查一下。至于1090链接。它确实提供了一个文件。在工作网络上(无论是在办公室还是 VPN)上,IE 上都会提示我打开、保存或另存为文件。打开它会打开 word 并保存它会提示我将其另存为 word docx 文件。此链接在我们的培训经理网站上有效。目前我们的工人点击它并被提示用word打开它。我的任务是将它包含在一个窗口窗体中。不幸的是,我无法更改这些链接的创建或定义方式。我得到的已经存在了。
标签: c# file url download httpwebresponse