Asp.net Internet Explorer:FileUpload控件没有';无法识别长文件名的文件

Asp.net Internet Explorer:FileUpload控件没有';无法识别长文件名的文件,asp.net,windows,internet-explorer,file-upload,name-length,Asp.net,Windows,Internet Explorer,File Upload,Name Length,阅读此问题后,您可能会认为这在某种程度上是不现实的,但在我们的一个生产应用程序中存在以下情况 我们的一位用户报告说,如果他尝试上载名称过长的文件,他会遇到错误。我们必须通过限制文件名不超过255个字符(包括文件扩展名)来修复此问题。但我们面临着另一种奇怪的行为,这种行为只存在于InternetExplorer中 如果用户尝试上载长度(包括扩展名)为255个字符的文件,则FileUpload不会选择该文件(即,不识别文件),并且显示文件名的文本框将保持空白。这在IE8、IE9和IE10中有效!这在

阅读此问题后,您可能会认为这在某种程度上是不现实的,但在我们的一个生产应用程序中存在以下情况

我们的一位用户报告说,如果他尝试上载名称过长的文件,他会遇到错误。我们必须通过限制文件名不超过255个字符(包括文件扩展名)来修复此问题。但我们面临着另一种奇怪的行为,这种行为只存在于InternetExplorer中

如果用户尝试上载长度(包括扩展名)为255个字符的文件,则FileUpload不会选择该文件(即,不识别文件),并且显示文件名的文本框将保持空白。这在IE8、IE9和IE10中有效!这在ASP.NET或SharePoint解决方案中有效

我试着在GMail中上传同一个文件,我可以在除IE以外的所有浏览器中上传它,这意味着它与IE有关


有什么建议吗?有任何修复吗?

不幸的是,它似乎(曾经)是windows的“功能”

见:

本地路径的结构顺序如下:驱动器号, 冒号、反斜杠、用反斜杠分隔的名称组件和 终止空字符。例如,驱动器D上的最大路径 是“D:\256个字符的路径字符串”,其中“”表示 当前系统的不可见终止空字符 代码页

我想你应该避免操作满路径超过260个字符的文件

不知道在文件输入文本框中使用“\?\”很长的名称前缀是否有效


希望这会有所帮助。

如果是这样,在其他浏览器中如何上传同一文件?如果我说这是因为IE处理文件IO的方式,即文件上传,那么我是否正确。根据BCL team.NET的MSDN博客文章,您认为长路径有什么问题?@Ahmed似乎更复杂,您的用户路径是否包含非ansi字符?这可能是255限制的问题。没错,这都与路径限制有关。我们将设法避免操纵超过路径限制的文件。非常感谢。