登录注册
社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
主题 : 向老大请教个技术问题
伍胥之 离线
级别: 军区司令员

显示用户信息 
楼主  发表于: 2006-08-08   

向老大请教个技术问题

我的数据库库里存有一些OLE DB类的数据,想实现给出用户一个链接后,单击该link后直接下载,而不是在IE窗口中打开(如Word文档,PDF或照片之类),我知道Microsoft的说明里只要加上个如下的HTTP header后可以实现这个功能。 i)(G0/:  
"Content-Disposition" "attachment; filename=" & FileName.EXT -,;w oOG  
EUI*:JU-  
但是我的数据库里没有保存原来文件的扩展名,只有像下面这样格式的MIME信息 IEm~^D#< =  
audio/mid、audio/mpeg、audio/x-aiff、audio/x-ms-wma、audio/x-pn-realaudio、udio/x-wav、image/bmp、image/gif、image/ief、image/jpeg。 f{L;,  
所以HTTP Content-Type只能是这样的信息。 uUx7>algF  
Hc<@T_h+2  
因为没有扩展名,所以弹出的下载窗品提示我要下载是HTMLDocument,名字是我根据内容生成的,当然如果这类文件在用户的机器上如果注册过的,就会形成正确的扩展名,如果没有,则不知道下载的文件是什么类型。 (O(TFE5^  
/d6Rd l`w  
我的问题是:如果不建立MIME与文件扩展名的对照表,有什么办法可以根据MIME信息得到文件的扩展名。(Windows 平台) RFS} !_t+|  
z__t8yc3  
谢谢老大啊! <X{w^ cT_Q  
Op9 ^Eu%n  
(上图是指定和未指定JPG为扩展名时的截图,当然在我自己的机器上,两种情况下提示存盘的时候都会存为正确的ACDSee JPEG文件)
描述:未指定扩展名
图片:1.jpg
描述:指定扩展名
图片:2.jpg
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
地下室  发表于: 2006-08-18   
感谢爱得民同志在家务繁忙的时候还一直惦记着这样一个小问题,非常感谢! RAhDSDf  
i" u|119  
这不是什么重要问题,无解是因为俺考虑不周,没有在开始设计阶段就考虑到这种需求。 Y ~I>mc]  
"8ZV%%elp  
这个东西不过是我们同学毕业二十周年做的一个影集,一个自己玩的东西,没有什么简捷办法就算了。 |[5; dt_U/  
'xai5X  
不过,老大您也恁牵须了,你说你编程序不在行,简直让俺等无地自容啊!好在俺只是业余玩的,属于一脚门外另一脚踏在门槛上的半门外汉。可是当俺在普通人面前俺都是以高手自居的,从没像老大这么谦虚过,难道这就是真正的高手与半瓶HAc的区别? Y R~e_cA:  
03|nP$g  
老大这一陈辛苦了,慰问一下。
杺栫杣杊椌柮栬,䒴蓉艿芖。
admin 离线
级别: 管理员

显示用户信息 
地板  发表于: 2006-08-18   
不好意思, 5"3 `ss<m  
这么多天了, yyu-y0_  
估计得交白卷了。 iKu3'jZ/O  
BHgs,  
想了一下,实在想不出什么高招。 sVP\EF8PY  
写程序我自己是个“菜鸟”。 FVP,$  
不知道坛子里有没有高手,  )$f?v22  
能帮伍教授一把的?
http://www.bachinese.com
Bay Area Chinese Forum  灣區華人網站
Serving the San Francisco Bay Area [Silicon Valley] Chinese Community
服務舊金山灣區[硅谷/矽谷]華人社區
伍胥之 离线
级别: 军区司令员

显示用户信息 
板凳  发表于: 2006-08-09   
1. 俺是虚心请教,老大可别调侃俺。 _'Vo3b  
2. 所有的文件内容都是在一个数据库中,没有记录文件名和扩展名,只有MIME信息,所以文件名是根据另一个字段生成的,扩展名不知道(我知道,但是程序不知道)。 \,p?pL<'  
3. 那个链接是一个ASP程序,就是读出一个BLOB字段的内容以binarywrite方法写到客户端,与在IE窗口中直接显示唯一的不同是添加了一个HTTP的Header,这样在click它的时候会提示保存文件。 fM] nP4K`  
4. 如果我在数据库中保存扩展名就会比较好办,可问题是我当时没有考虑这个功能,所以只保存了一个MIME字段。 !E00I0W -h  
5. 我现在问题就是如果我不再建立一个MIME与扩展名的对照表,能不能根据MIME在服务器上找出它对应的文件扩展名。
杺栫杣杊椌柮栬,䒴蓉艿芖。
admin 离线
级别: 管理员

显示用户信息 
沙发  发表于: 2006-08-08   
呵呵,伍教授又出考题了。 B$JPE7h@[P  
不过这次题目有点难。 !}U3{L-  
x7l}u`N4  
先把考题弄清楚: "3Dnp?gB  
q2*)e/}H  
比如你例子中的”校园生活-无主题(1983).JPG"这个文件在服务器上是如何存储的?文件名是什么?你给的第二张图中,编号为345的图片的下载链接是什么,该链接是通过调用数据库中的数据自动生成的吗? sP@XV/`3L6  
5"U5^6:T  
如果数据库没保存上传文件的扩展名, tZ@&di:-F  
感觉上处理起来会比较麻烦。
http://www.bachinese.com
Bay Area Chinese Forum  灣區華人網站
Serving the San Francisco Bay Area [Silicon Valley] Chinese Community
服務舊金山灣區[硅谷/矽谷]華人社區
描述
快速回复

验证问题:
3 * 6 = ? 正确答案:18
按"Ctrl+Enter"直接提交