我正在尝试从我的silverlight应用程序在新窗口中打开下载的文件。我们有一个遗留的应用程序编写html / js,适用于任何文件类型。但是,在我的SL应用程序中,对于任何文件类型而不是.txt或.html,会弹出一个窗口并快速关闭。我在fiddler中跟随,两个应用程序的请求都是相同的。为了进一步解释我正在做什么,我使用System.Windows.Browser.HtmlPage.Window.Invoke来调用一个调用window.open的js函数。有没有人知道这里会发生什么?
这是标题......
请求:
GET https://foofoo.com/portal/fileDownload?SupportingUploadedFileId=8147&IdeaId=110391 HTTP/1.1
Accept: */*
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E)
Accept-Encoding: gzip, deflate
Host: foofoo.com
Connection: Keep-Alive
Cookie: __utma=42251826.1339254382.1292255942.1292255942.1292255942.1; __utmz=42251826.1292255942.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=95617934.1162172004.1292440807.1292618204.1292859812.4; __utmz=95617934.1292440807.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); hubspotdt=2010-12-20%2010%3A43%3A36; hubspotutk=027b6ef3c2cb40a7a727706cbd686cd0; hubspotvd=027b6ef3c2cb40a7a727706cbd686cd0; hubspotvw=027b6ef3c2cb40a7a727706cbd686cd0; hubspotvm=027b6ef3c2cb40a7a727706cbd686cd0; JSESSIONID=UXFMkU3DZrCKhpn9Gk7cvQ**; __utmb=95617934.1.10.1292859812; __utmc=95617934
响应:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.4; JBoss-4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)/JBossWeb-2.0
Content-Disposition: attachment; filename=DBSchema1.pdf
Pragma: public
Cache-Control: cache
Content-Type: application/pdf
Transfer-Encoding: chunked
Date: Mon, 20 Dec 2010 15:49:00 GMT
Contents of file
答案 0 :(得分:0)
我找到了解决方案。而不是调用System.Windows.Browser.HtmlPage.Window.Invoke()来调用我的js函数,它实际上只是window.open(),我发现System.Windows.Browser.HtmlPage.PopupWindow(uri,“_ blank”, null)有效。这导致了问题,有什么区别?