我打开一个工作项并进入附件选项卡。我双击一个 .doc 附件。它不是在 Word 中打开文件,而是启动浏览器,从而关闭文件。
有没有办法让 TFS 直接在 Word 中运行附件?
通过给定的 URL 从服务器访问附件:
http://mytfs/tfs/default/WorkItemTracking/v1.0/AttachFileHandler.ashx?FileID=115&FileName=mydoc.doc
Visual Studio 基本上会执行此 URL 的 Shell Exec,它会启动您的默认 Web 浏览器。
您有两个工作项表单的实现:
所以没有其他办法,我怀疑网上是否有定制工具可以缩短这个过程......
查看 AttachFileHandler.ashx 的 HTTP 响应标头,“问题”是因为内容作为文件返回:
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 11688
Content-Type: application/octet-stream
Server: Microsoft-IIS/7.0
X-AspNet-Version: 4.0.30319
content-disposition: filename=Screenshot.png
X-Powered-By: ASP.NET
Date: Fri, 17 Aug 2012 08:51:44 GMT
即使浏览器可以直接显示图像,它也是强制另存为对话框的content-disposition
标题。请参阅 w3.org 中关于19.5.1 Content-Disposition的注释:
如果此标头用于内容类型为 application/octet-stream 的响应中,则暗示用户代理不应显示响应,而是直接输入“将响应另存为...”对话框。
我怀疑 TFS 是这样做的,因此它可以返回任何文件,而不管接收浏览器是否可以本地处理内容,例如,使用 PDF 插件。也许可以修改 AttachFileHandler.ashx 来改变它返回内容的方式?