技不如人

Welcome to Rickel's blog.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Tag:input type='file' 的文件长度问题

Posted on 2005-06-21 14:35  Rickel  阅读(1984)  评论(3编辑  收藏  举报
Q:
發現一個現象:
對於上傳文件時用到的標簽<input type=file>
如果選擇的文件名超長,類似
20050309_StaffingFlowModificationCopy 20050309_StaffingFlowModificationCopy 20050309_StaffingFlowModificationCopy 20050309_StaffingFlowModificationCopy 20050309_StaffingFlowModificationCopy 20050309_StaffingFl.doc
 
則在選中文件后,會在文本框中返回空,就是無法正常選擇此文件...
 
從系統上講,那個長文件名是合理的,但是卻無法上傳;
從實踐情況看,使用這種長文件名的可能性應該比較小.
 
不知道是否可以解決,請大家幫忙看看...

A:
请参考RFC 1867 - Form-based File Upload in HTML
 
RFC中并没有定义上传文件的文件名的最大长度,所以认为应该是默认一致的
根据测试,发现系统文件名的长度限制成为255个字符..
但是输入的文件名最多只有251个字符,经C#抓出的结果是@"filepath"
 
 
据此,可以认为这个是由于在Form中input的数据溢出导致的
当文件的绝对路径长度>251时会出现如上所描述的问题

2005.06.21