小弟最近接手一个数据库管理程序,要求具有上载文件功能,上载文件存放在
mssql server 中,并且,管理员要能通过点击链接来下载该文件
现在的问题是:我该如何确定下载文件的文件名字??
比如,处理提取文件并下载任务的程序是download.asp,那么,当我用response.writebyte来提供下载的时候
我发现下载文件名字一律是download.asp!!我怎么改??
各位大虾,救急!!!
---------------------------------------------------------------
首先,在数据库里放文件本来就是一个不明智的选择。你可以在数据库存放文件名阿,把文件放在硬盘里,这样完全能够实现你的问题,而且效率也有很大的提高。
如果你真的想在数据库里存放文件的话,那在数据库里在多个字段来记录文件的名字。
---------------------------------------------------------------
try
Response.AddHeader "content-disposition","attachment; filename=" &
FileName
Response.BinaryWrite ....
---------------------------------------------------------------
情况:
1、读出数据文件(如果是存储文件名,就不用写入临时文件),写入临时文件夹,注意扩展名,然后Response.Redirect "临时文件名".
2、读出数据(无论是数据库中还是系统其他的非web目录),如果是文本文件可以使用FOS,如果是二进制文件,需要自行编写组件读出数据。改写http输出头:
response.ContentType="application/x-octet-stream"
然后
Response.BinaryWrite your_filedata
不过这种情况下,文件名确省是.asp扩展名。