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

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

向老大请教个技术问题

我的数据库库里存有一些OLE DB类的数据,想实现给出用户一个链接后,单击该link后直接下载,而不是在IE窗口中打开(如Word文档,PDF或照片之类),我知道Microsoft的说明里只要加上个如下的HTTP header后可以实现这个功能。 1TNz&=e  
"Content-Disposition" "attachment; filename=" & FileName.EXT I y S"  
i-,D_   
但是我的数据库里没有保存原来文件的扩展名,只有像下面这样格式的MIME信息 a*Ss -y  
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。 0/\PZX+  
所以HTTP Content-Type只能是这样的信息。 dC` tN5  
bar0{!Y"  
因为没有扩展名,所以弹出的下载窗品提示我要下载是HTMLDocument,名字是我根据内容生成的,当然如果这类文件在用户的机器上如果注册过的,就会形成正确的扩展名,如果没有,则不知道下载的文件是什么类型。 'Y!pY]Z  
L)F1NuR  
我的问题是:如果不建立MIME与文件扩展名的对照表,有什么办法可以根据MIME信息得到文件的扩展名。(Windows 平台) WRD A `  
hOPe^e"  
谢谢老大啊! !:"-:O}>=,  
>?5xDbRj  
(上图是指定和未指定JPG为扩展名时的截图,当然在我自己的机器上,两种情况下提示存盘的时候都会存为正确的ACDSee JPEG文件)
描述:未指定扩展名
图片:1.jpg
描述:指定扩展名
图片:2.jpg
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
杺栫杣杊椌柮栬,䒴蓉艿芖。
admin 离线
级别: 管理员

显示用户信息 
沙发  发表于: 2006-08-08   
呵呵,伍教授又出考题了。 c>ad0xce6  
不过这次题目有点难。 LJGJ|P  
7DtIVMiK  
先把考题弄清楚: dhHEE|vrz  
X9fNGM1  
比如你例子中的”校园生活-无主题(1983).JPG"这个文件在服务器上是如何存储的?文件名是什么?你给的第二张图中,编号为345的图片的下载链接是什么,该链接是通过调用数据库中的数据自动生成的吗? -Z%F mv8  
G#H9g PY  
如果数据库没保存上传文件的扩展名, 3J %V%}mD  
感觉上处理起来会比较麻烦。
http://www.bachinese.com
Bay Area Chinese Forum  灣區華人網站
Serving the San Francisco Bay Area [Silicon Valley] Chinese Community
服務舊金山灣區[硅谷/矽谷]華人社區
伍胥之 离线
级别: 军区司令员

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

显示用户信息 
地板  发表于: 2006-08-18   
不好意思, &Y1`?1;nw  
这么多天了, W`$[j0  
估计得交白卷了。 Kax#OYLpg  
bV@7mmz:X+  
想了一下,实在想不出什么高招。  &hayR_F9  
写程序我自己是个“菜鸟”。 eC~ jgB  
不知道坛子里有没有高手, 0G5'Y;8  
能帮伍教授一把的?
http://www.bachinese.com
Bay Area Chinese Forum  灣區華人網站
Serving the San Francisco Bay Area [Silicon Valley] Chinese Community
服務舊金山灣區[硅谷/矽谷]華人社區
伍胥之 离线
级别: 军区司令员

显示用户信息 
地下室  发表于: 2006-08-18   
感谢爱得民同志在家务繁忙的时候还一直惦记着这样一个小问题,非常感谢! 0[/vQ+O]2  
o{V#f_o  
这不是什么重要问题,无解是因为俺考虑不周,没有在开始设计阶段就考虑到这种需求。 {FWyu5.  
14  H'!$  
这个东西不过是我们同学毕业二十周年做的一个影集,一个自己玩的东西,没有什么简捷办法就算了。 2MuO*.9D  
vMhYpt?7\  
不过,老大您也恁牵须了,你说你编程序不在行,简直让俺等无地自容啊!好在俺只是业余玩的,属于一脚门外另一脚踏在门槛上的半门外汉。可是当俺在普通人面前俺都是以高手自居的,从没像老大这么谦虚过,难道这就是真正的高手与半瓶HAc的区别? 6xHi\L  
HsnG4OE  
老大这一陈辛苦了,慰问一下。
杺栫杣杊椌柮栬,䒴蓉艿芖。
描述
快速回复

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