自己通过asp怎么解决附件重名的问题(要附件名保持原样)(200分)

  • 主题发起人 主题发起人 Cipher
  • 开始时间 开始时间
C

Cipher

Unregistered / Unconfirmed
GUEST, unregistred user!
前些日子上不来,发宰了csdn上面,都没人哪,还是到这里来了,望各位高手多多指教
==============
主  题:如何保存附件?
作  者:Cixy
所属论坛:Web Services
问题点数:20
回复次数:3
发表时间:2001-8-5 16:35:41


邮件系统是如何保存附件的?我不想为每个邮件建立文件夹来保存,又不想把文件存到数据库,还想用户选择“另存”时自动给出的文件名和发送时的文件名一致,怎么办?

新浪的例子
http://mail.sina.com.cn/cgi-bin/attachment.cgi/terlanx/application/x-msdownload/996923548.26207.mail.sina.com.cn:2,S.a00.dat/单身情歌.txt

似乎是把类似
xxxx.asp?FileName=单身情歌.txt
的参数传递方法换成了
xxxx.asp/FileName=xxxx/单身情歌.txt
的形式,不知我这么想对不对?

总之,我想得到一个解决方法,请各位支招


回复贴子:
回复人: tinydust(tinydust) (2001-8-5 22:32:46) 得0分
WEBMail系统是不会对mail进行附件的保存的,因为这样缺点很多。
xxxx.asp?FileName=单身情歌.txt正说明了,他是在你浏览的时候,把mail的内容解释成了附件而已。文件名一直很简单,扩展名一致需要你设定返回类型

回复人: Cixy(塞克斯) (2001-8-6 2:38:57) 得0分
不保存邮件的附件,那收发邮件时的附件是从哪里来得?难道不是保存在服务器上的吗?我这边要自己实现一个系统来模仿邮件服务器,之所以说模仿,是因为邮件并不走pop/smtp协议,而是简单的在系统内部流转……(扯远了),主要问题在于我要在服务器保存邮件的附件,我想给每个用户建立一个文件夹来保存它们,但是又要避免文件重名,所以只好改名存储(例如加个唯值的标记),但是用户在浏览器中单击附件的链接时,要自动给出附件未更名之前的文件名称,前述例子可以改为这样子

新浪的例子
http://mail.sina.com.cn/cgi-bin/attachment.cgi/terlanx/application/x-msdownload/996923548.26207.mail.sina.com.cn:2,S.a00.dat/单身情歌.dat

似乎是把类似
xxxx.asp?FileName=单身情歌.dat
的参数传递方法换成了
xxxx.asp/FileName=xxxx/单身情歌.dat
的形式,不知我这么想对不对?

并不是说把邮件正文存为附件,也不涉及附件的文件类型问题(一律视作文件供用户下载)

请高手继续指教呀

 
保存的时候用随机生成的字符串保存,同时将真实文件名保存在数据库里面。

用户收信的时候,从数据库里面的得到真实名字,显示给用户,但实际下载连接
是你生成的那个随机字符串文件。
 
试试在ASP中加入下面的语句:

Response.AddHeader "Content-Disposition","attachment;filename="""&OriginalFileName&""""
'OriginalFileName是真实文件名。

那样你的链接就可以与真实文件名无关。
 
KYQ:

你说的不错,我打算给你分,但是没有办法给你,真不知道该怎么办

过客兄弟说得也不错,只可惜你的想法并不是我问题的关键,只能给你一点点分了,下次过来看看正常就给你分
 
到底怎么了?我只能给一个过客加分,加分列表中没有kyq的名字
 
第三次了,还是不能给kyq加分,请版主给加以下阿,给过客20分,给kyq180分
 
但是我遇到了新问题,这样设定之后,用户如果选择直接打开的话,会出现问题!
 
出现的问题是死机或乱码!总之是不能正常打开,高手继续支招呀!

版主,怎么我还是不能给kyq加分呢?
 
多口问句:
ContentType设置了吗?
如果未设置,IE会认为是网页,使用HTML方式打开,若文件太大可能会造成IE出错。

设置了ContentType,IE才能使用正确的方式处理该文件。
 
多谢!给分了!
 
后退
顶部