收录日期:2019/04/24 20:54:52 时间:2016/05/30 10:06:03 标签:ASP.NET
我用Response.Redirect(Server.MapPath("A_Data\\BarCode.lbl"));来打开一个*.lbl文件,在服务器端可以用,在客户端就是无法打开该页
我试过用相对路径,可是用相对路径在服务器端都打不开,其他的格式文件可以,不知道如何解决
Server.MapPath("A_Data\\BarCode.lbl")是把相对路径映射为绝对路径

不知道你要干什么?你要打开客户短的文件,还是服务器上的

如果是客户端的,要用file控件上传,服务器的话,你原先的方法就可以了
“服务器的话,你原先的方法就可以了”是打开可以,你用redirect就不可以了
如果这个文件在服务器上,你直接Response.Redirect(@"\A_Data\BarCode.lbl");就可以了
我没说清楚,我是想在客户端打开服务器端的*.lbl文件,
用Response.Redirect(@"\A_Data\BarCode.lbl");打不开,错误:“无法找到该页”
这种把相对路径转化为绝对路径的方法Server.Mappath(),是以你页面据在的路径为基础的。使用起来不方便。如果你的页面在虚拟根,这样写就不会错。但例如如果你在根的下一层就得:
Server.Mappath(@"..\A_Data\BarCode.lbl")。所以你可以把连接写在一个类中,或者写在web.config的,configuration段中。这样就方便了。
客户端打开服务端的文件就和打开其它的aspx文件一件啊
这里就必须要用相对路径,如果在当前用户程序根目录下,eg:
Response.Redirect(@"\A_Data\BarCode.lbl");
你说找不对,主要是看你的目录间的关系了。
.代表当前目录
..代表当前目录的父级目录
比如,当前当前应用程序在a目录下,而你要的文件在b目录,而他们都在c目录下,此时如果你要用b目录下的文件时就要这么写
Response.Redirect(@"..\b\BarCode.lbl");

当然这里要保证它们的目录关系是在web服务器上的关系,而不仅仅是物理关系。

关注
两位大侠,你们说的我明白,但同样一个目录下,有一个*.mdb文件,我用同样的路径就可以打开*.mdb却打不开*.lbl
你所说的打开,是不是说用浏览器打开啊,这个主要看服务器的IIS的设置了,其文件类型是不是在MIME中注册了,打开IIS管理器,选择你的站点,查看其属性,找到HTTP头页,选择文件类型,再选择添加新类型,其两项都设置为*.lbl,点击确定,这样在redirect的时候就可以了。
谢了,我一直不知道iis还有这功能,呵呵,又学到新知识了

SQL Server 批處理時,如何返回插入數據主鍵? 注册时用的验证码原代码 怎么解决下面这个NET服务器资源问题? 求asp.net版的报表生成器 程序重启里发生 appcrash 错误,怎么处理啊 JDBC获得表的主键(自增) 今天上班坐过站了,郁闷~~ 查找字符串 c# 串口程序在其它的电脑上接收不到数据 为什么我下载的计算器程序只有计算器而看不到程序啊 设计模式中的“不要调用我,让我调用你”到底是什么意思? gif格式的显示问题 做了个系统,怎么实现注册码功能? 执行速度问题。新手请教 VS2010中文旗舰版+提示如下警告,请教各位高手该如何处理,谢谢!!! db2set DB2_OVERRIDE_BPF 是什么意思? 我想做w7开发 求一SQL 语句 如何获取选中tabpage中的控件信息 求一个sql 或者存储过程 关于Bitmap。。。 visual studio 2008 问题 【已处理】为什么分数是负的? Repeater中将某一列的值拷贝到其他列上 在线等帮助 Android,桌面快捷方式toast屏蔽问题?急急急!!!!在线等!!!! 为什么fopen打开带冒号带文件会出错 由于更改ASP.net的版本是遇到的cscript.exe问题,请大家帮忙解决啊!感激不尽 SQL怎样建表? 新来的现在换不了分了,遗憾,散点分。。。,散完为止(100分)