代码改变世界

ASP.NET、SharePoint中另存文件的长文件名被截断的原因及解决办法

2009-11-24 09:30  Virus-BeautyCode  阅读(2233)  评论(4编辑  收藏  举报

  这个问题起初发生在SharePoint的环境中,我以为是SharePoint限制了长度,后来我试验了一下,在ASP.NET的应用中也同样会发生。

  一个Word文档,或者是什么文件,文件名称超过15个汉字,或者一定长度的字母之后,上传到文档库是没有问题的,但是如果你想下载,使用【右键】-【另存为】,就会发现保存框的文件名一栏中,就剩下15个汉字了,其他的都被省略了。

     我就开始寻找解决的办法,直接点击文件,默认会用客户端程序打开,例如word文档,会使用word打开,发现文件名是正常的,然后使用word的另存为,正常。

  使用moss的资源管理器视图,从视图中直接复制文件出来,正常。

      唯独另存不正常,以上都是在IE6的环境测试的。

      上网google了一大堆,好像是和浏览器有关系。我就安装了其他的浏览器,firefox、opera,发现这些浏览器都可以正常另存,长文件名没有问题。

      安装IE7,发现长文件名在保存框中变成了几个数字+字母的组合,不知道为什么?

      安装IE8,可以了,这回可以了,长文件名的文件正常保存,名称没有被截断。但是另存的时候,时间明显比IE6要长一点,不知道为什么?