【问题标题】:Internet Explorer: FileUpload control doesn't recognize files with long file namesInternet Explorer:FileUpload 控件无法识别具有长文件名的文件
【发布时间】:2013-01-31 16:04:43
【问题描述】:

您可能会在阅读此问题后认为这有点不切实际,但我们的一个生产应用程序中存在以下情况。

我们的一位用户报告说,如果他尝试上传名称过长的文件,他会遇到错误,我们必须通过将文件名限制为不超过 255 个字符(包括文件扩展名)来解决这个问题。但是我们遇到了另一种奇怪的行为,它只存在于 Internet Explorer 中。

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

我尝试在 GMail 中上传相同的文件,我能够在除 Internet Explorer 之外的所有浏览器中上传它,这意味着它与 IE 相关。

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

【问题讨论】:

    标签: asp.net windows internet-explorer file-upload name-length


    【解决方案1】:

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

    见: http://msdn.microsoft.com/en-us/library/aa365247%28v=vs.85%29.aspx#maxpath

    本地路径按以下顺序构建:驱动器号、 冒号、反斜杠、由反斜杠分隔的名称组件和 终止空字符。例如,驱动器 D 上的最大路径 是 "D:\some 256-character path string" 其中 "" 表示 当前系统的不可见终止空字符 代码页。

    我猜你应该避免处理完整路径超过260个字符的文件,

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

    希望这会有所帮助。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-06
    • 2018-02-15
    • 1970-01-01
    • 2021-01-13
    • 2013-06-12
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    相关资源
    最近更新 更多