window.open(url) 下载文件

gengchengxiang 2009-05-21 03:55:31
直接用
window.open("http://localhost/EIPTest/upload/temp/sid4808/mailarch1280/Archive20090521.emp","_blank");
方法来下载文件,
为什么报'找不到页面错误'。
我分析的原因是:服务器response时发现这个页面无法编码,所以失败!也就是说服务器把Archive20090521.emp当作一个页面对待,而不是一个文件。
我就是不知道怎么设定,才能让服务器把.emp后缀的文件当作文件,而不是当作一个页面。
请各位高手赐教。
一定结贴给分!!!!!!!!!!!!
...全文
3588 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
daben4 2012-01-10
  • 打赏
  • 举报
回复
怎么解决的?好像.exe文件也下载不了,怎么解决的啊?
gengchengxiang 2009-05-21
  • 打赏
  • 举报
回复
IIS配置的问题,与window.open()没有关系。
gengchengxiang 2009-05-21
  • 打赏
  • 举报
回复
谢谢各位,我自己解决了。
gengchengxiang 2009-05-21
  • 打赏
  • 举报
回复
各位分析的重点有点偏差吧。
我当然知道localhost表示我本机。
我用"http://localhost/EIPTest/upload/temp/sid4808/mailarch1280/Archive20090521.emp" 只是一个代笔url而已,
我是想知道为什么window.open(url),当这个url指向一个".emp"文件的时候不能下载,而指向".rar”文件的时候就能够下载
  • 打赏
  • 举报
回复
window.open("http://localhost/EIPTest/upload/temp/sid4808/mailarch1280/Archive20090521.emp","_blank");
方法来下载文件,
为什么报'找不到页面错误'。


因为你本地服务器上没有这个页面所以找不到该页面,如果你在IIS上配置好了的话,你输入http://localhost/EIPTest/upload/temp/sid4808/mailarch1280/Archive20090521.emp应该能够访问,但前题是你要用你的本机访问,当别人用别人机器访问你这个一点用都没有的,
http://localhost/表示你本机
EIPTest/upload/temp 表示你网站的虚拟目录
liaoyukun111 2009-05-21
  • 打赏
  • 举报
回复
Server.MapPath("./")
注:获得所在页面的当前目录,等价于Server.MapPath("")
用这个相对路径好些
zhaolin646 2009-05-21
  • 打赏
  • 举报
回复
方法:window.open(URL,name,features,replace)注解
open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口。

语法
window.open(URL,name,features,replace)
参数 描述
URL 一个可选的字符串,声明了要在新窗口中显示的文档的 URL。如果省略了这个参数,或者它的值是空字符串,那么新窗口就不会显示任何文档。
name 一个可选的字符串,该字符串是一个由逗号分隔的特征列表,其中包括数字、字母和下划线,该字符声明了新窗口的名称。这个名称可以用作标记 <a> 和 <form> 的属性 target 的值。如果该参数指定了一个已经存在的窗口,那么 open() 方法就不再创建一个新窗口,而只是返回对指定窗口的引用。在这种情况下,features 将被忽略。
features 一个可选的字符串,声明了新窗口要显示的标准浏览器的特征。如果省略该参数,新窗口将具有所有标准特征。在窗口特征这个表格中,我们对该字符串的格式进行了详细的说明。
replace

一个可选的布尔值。规定了装载到窗口的 URL 是在窗口的浏览历史中创建一个新条目,还是替换浏览历史中的当前条目。支持下面的值:

true - URL 替换浏览历史中的当前条目。
false - URL 在浏览历史中创建新的条目。




窗口特征(Window Features)
channelmode=yes|no|1|0 是否使用剧院模式显示窗口。默认为 no。
directories=yes|no|1|0 是否添加目录按钮。默认为 yes。
fullscreen=yes|no|1|0 是否使用全屏模式显示浏览器。默认是 no。处于全屏模式的窗口必须同时处于剧院模式。
height=pixels 窗口文档显示区的高度。以像素计。
left=pixels 窗口的 x 坐标。以像素计。
location=yes|no|1|0 是否显示地址字段。默认是 yes。
menubar=yes|no|1|0 是否显示菜单栏。默认是 yes。
resizable=yes|no|1|0 窗口是否可调节尺寸。默认是 yes。
scrollbars=yes|no|1|0 是否显示滚动条。默认是 yes。
status=yes|no|1|0 是否添加状态栏。默认是 yes。
titlebar=yes|no|1|0 是否显示标题栏。默认是 yes。
toolbar=yes|no|1|0 是否显示浏览器的工具栏。默认是 yes。
top=pixels 窗口的 y 坐标。
width=pixels 窗口的文档显示区的宽度。以像素计。

web下载不是给一个连接就好了么? 怎么还要用windows.open()?

window.open("http://localhost/EIPTest/upload/temp/sid4808/mailarch1280/Archive20090521.emp","_blank");

url 写绝对路径 就是相对硬盘的那个 比如c:\\123\1.txt
或者你写相对 本身文件的 相对路径

我没写过 http://localhost/EIPTest/upload/temp/sid4808/mailarch1280/Archive20090521.emp 这样的

你这个相对 IIS的 我想应该就用IIS的方式打开了吧

多试几种方式吧 好运


  • 打赏
  • 举报
回复
window.open("http://localhost/EIPTest/upload/temp/sid4808/mailarch1280/Archive20090521.emp","_blank");
这样肯定是不对的,不能给绝对路径,要给相对路径,就算给绝对路径你也不能用localhost;
glboy12 2009-05-21
  • 打赏
  • 举报
回复
你先把程序运行起来直接输入http://localhost/EIPTest/upload/temp/sid4808/mailarch1280/Archive20090521.emp
这个地址,看看是否能下载
mengxj85 2009-05-21
  • 打赏
  • 举报
回复
直接用一个HyperLink,可以考虑设成动态添加,或者动态的URL
wujinjian2008n 2009-05-21
  • 打赏
  • 举报
回复
路径不对,你连得是本机的。
gengchengxiang 2009-05-21
  • 打赏
  • 举报
回复
上面的路径是我本机的路径
满衣兄 2009-05-21
  • 打赏
  • 举报
回复
不行,你得用相对路径

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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