关于文件操作问题,高分求助!

fxmpch 2003-11-06 01:25:42
1、我上传文件后,库表里保存了原文件名和文件存放在路径(包括上传后的新文件名),当我下载该文件时,文件名为我上传后的文件名,请问有办法解决吗?
例:上传文件名为:工作总结.doc
保存数据库表为:
attach_id attach_name attach_path attach_type attach_size
1 工作总结.doc ../Files/200311061324.doc doc 556

那么我下载保存时,它出现200311061324.doc这个文件名,请问有办法让它显示原文件名吗??
2、我由程序创建虚拟目录(在InterNet信息服务器里创建),那么请问如何由程序来修改默认文档,即如何删除“default.htm,default.asp,iisstart.asp,default.aspx”,并添加"login.aspx,index.aspx"呢??(注意,是由程序实现,而不是手工搞!)
...全文
44 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
noahart 2003-11-12
  • 打赏
  • 举报
回复
俺同意comy(泥娃)的观点!

up
Comer 2003-11-12
  • 打赏
  • 举报
回复
采用压缩-传输-解压缩不行吗?
comy 2003-11-12
  • 打赏
  • 举报
回复
本来中文文件名长了下载就会有错,用文件流的方式也一样出错的。只能用控制文件名长度的方法或者不用中文文件名才能解决。
还要怎么清楚呢?
l2000sq 2003-11-11
  • 打赏
  • 举报
回复
kk4的代码就可以,这段代码是通过文件流的形式把文件写到客户端。写的时候可以为文件起名字,不过文件名不能过长。
fxmpch 2003-11-11
  • 打赏
  • 举报
回复
唉,回答没有一个可以,我的意思你们要看清楚呀!!
comy 2003-11-06
  • 打赏
  • 举报
回复
只是建议你下载时不要用中文名称,保存的时候什么名称都可以
bpy 2003-11-06
  • 打赏
  • 举报
回复
学习
fxmpch 2003-11-06
  • 打赏
  • 举报
回复
TO: acewang(**^o^**)
看不很懂你的代码,我不知你的回答是不是我所有需要解决的问题
acewang 2003-11-06
  • 打赏
  • 举报
回复
晕, KK4(逐月) 兄很勤快阿
KK4 2003-11-06
  • 打赏
  • 举报
回复
用aspx读取文件输出它
string strFile = "e:\\test.doc"; //你存放的路径
FileStream fs = new FileStream(strFile, FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(File.Name)) //保持中文名
Response.BinaryWrite(bytes);
Response.End();
Kanderliu 2003-11-06
  • 打赏
  • 举报
回复
给你代码:

Response.Clear();
strDisplayname = HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(strDisplayname));//(这里是你要的文件名称)
Response.AppendHeader("Content-Disposition", "attachment;filename=" + strDisplayname);
Response.ContentType = "application/octet-stream";
this.Response.Charset = "UTF-8";
this.Response.ContentEncoding =System.Text.Encoding.Default;
Response.BinaryWrite(DocBuffer);
//结束文件流输出
Response.End();
acewang 2003-11-06
  • 打赏
  • 举报
回复
用aspx读取文件输出它
string strFile = "e:\\test.doc"; //你存放的路径
FileStream fs = new FileStream(strFile, FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(File.Name)) //保持中文名
Response.BinaryWrite(bytes);
Response.End();
acewang 2003-11-06
  • 打赏
  • 举报
回复
将文件读成流的方式下载就行了
liudodo 2003-11-06
  • 打赏
  • 举报
回复
先在服务器端生成员文件名文件,然后再下在,但你需要定时删除你生成的服务器端文件
mywisest 2003-11-06
  • 打赏
  • 举报
回复
1、你可以先生成一个文件,然后再下载该文件!也可以下载该文件到本地的临时目录,然后进行改名也行,不过后一种会要求执行本地控件。
2、调用WMI可以实现,也可以使用IIS的一些方法,不过需要输入服务器的用户名和密码。

其实通过WMI可以实现对服务器的任何操作,包括格式化,只要你要求操作人员输入服务器的用户和密码。
mywisest 2003-11-06
  • 打赏
  • 举报
回复
1、你可以
yanyl2001 2003-11-06
  • 打赏
  • 举报
回复
up
ddangerous169 2003-11-06
  • 打赏
  • 举报
回复
lf
fxmpch 2003-11-06
  • 打赏
  • 举报
回复
up
fxmpch 2003-11-06
  • 打赏
  • 举报
回复
TO:comy
如果用原文件名,那么我上传时有重名的怎么办呢??
加载更多回复(1)
Windows 10 免费升级已经接近尾声了, 在一周年更新即将到来之际, 特此编辑入门文档帮助广大用户熟悉操作 Windows 10, 从用户的视角阐述 Windows 10 功能和使用, 大部分操作附有截图以减少文字的枯燥描述, 解答想升级 Windows 10 的 Windows 7/8.1 用户的疑惑, 了解 Windows 10 的基本操作。 目前全球已有超过 3 亿设备升级到 Windows 10, Windows 10 的普及速度超过了相对发布时间的Windows 7, Windows 不断更新是为了你的网络安全,提供更加优质的体验,正如纳德拉所说, Windows10 将转变为一项服务,你可以在设备生命周期内享受服务并升级系统到最新状态。 升级过程轻松简单, 合 格的 Windows 7 或 Windows 8.1 设备可免费升级, 您的文件、照片、应用、设置等会被妥善保存。 微软一直在强调 Windows 10 将是最后一个操作系统,并且在未来保持更新, 而在中国仍有很大装机量的 Windows XP 已经在 2014 年停止支持,意味着这些落后的系统和即将被淘汰的设备将会面临巨大的风险。 新的电脑设备已经开始大量预装 Windows 10, 越来越多的人开始使用Windows 10 工作、学习、娱乐,掌握基本的操作系统知识十分的必要, 对于目前市场份额最高的 Windows 7,已经在 2013 年 10 月31 日停止零售, 2014 年 10 月 31 日停止预装(专业版除外)。 微软改变了曾经封闭式的 Windows 操作系统开发,转而听取用户的反馈,使用 Windows 10 的用户可以加入 Windows Insider 计划,和全球数百万的Insiders 一起帮助塑造 Windows 10,提供反馈并且为你赞同的反馈投票,成功的案例如邮件和日历中加入对中国传统节日和农历的支持,标题栏颜色。 很多用户升级电脑后出现了问题,部分是由于升级继承了旧版 Windows 的一些设置,当出现了一些问题时,只要掌握了基本技巧,就可以自行排除错误,或者在搜索引擎里查找相关问题的解决方案而不必求助于别人或者折腾地请技术人员修复,所谓“自己动手,丰衣足食” ,即使你的电脑已经完全无法启 动,你仍然可以全新安装 Windows 10。 当前 10586 更新已经非常稳定,适合任何可以升级的 Windows 7/8.1/10 设备,而尚未升级 Windows10 的设备,在 2016 年 7 月 29 日后微软将会移除升级提示,必需购买授权密钥才能激活。 微软和百度合作推广 Windows 10,中国区 Edge 浏览器默认搜索是百度,还和腾讯、 360 等公司合作帮助用户升级到 Windows 10,当然你也可以通过微软的推送或者升级工具/ISO 升级。 Windows 8 中保受诟病的应用终于不再是鸡肋,网易云音乐、某视频网站、淘宝等优秀的 UWP 应用已经上线,为用户提供优质的体验, Windows 10 也优化了高分屏的显示效果,系统图标支持 4K 分辨率。 Windows 10 上 DirectX 12 将会给游戏带来更佳的体验(需要显卡支持),量子破碎、极速竞技 6:巅峰等游戏大作已经上线 Windows 应用商店,可以下载体验。

62,074

社区成员

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

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

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

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