2

我们的一位客户正在以各种可以想象的方式破坏该软件,而他刚刚发现了这个软件。

如果用户尝试上传文件名很长的文件(我认为用户正在尝试使用 180 个字符的文件名),FileUpload 控件拒绝在 IE7 上识别它。

单击“浏览”按钮,浏览到文件,单击它,单击“上传”按钮,应显示文件名的文本框为空白。有谁知道这个,修复等?

我设法找到了关于它的这个 asp.net 论坛讨论,但它并没有对这个问题有太多的了解。

该应用程序是用 Visual Studio 2008 编写的,这发生在 IE7 中,但不是 FF3 或 Chrome。如果我使用其他两个浏览器中的任何一个,它会正确填充 FileUpload 控件,但是当您实际尝试进行上传时会中断,因为生成的文件名/路径太长。

享受随机

4

3 回答 3

4

这可能不是特定的 ASP.NET 甚至 IE7 问题。

Windows 对完整路径名 (*) 有 260 个字符的限制,这可以通过一些具有长文件名的嵌套文件夹轻松达到,特别是如果您从一个已经有相当长路径名的用户文件夹开始(例如。' C:\Documents and Settings\Brian Popalopadopaslopalos\My Documents' 或 'Desktop')。

当你达到这个极限时,事情就开始变得糟糕了。重命名文件、移动文件夹、搜索等等都开始以奇怪的方式出错。如果浏览器也出现故障并且您可能无能为力,那就不足为奇了。

(* - 事情实际上比这要复杂一些,但仍然......)

于 2009-01-12T11:06:48.477 回答
0

您需要更多地测试此问题,然后将其作为“已知问题”放入,给出您可以接受的文件名的最大大小。

他们可以将这些文件上传到 hotmail 吗?邮箱?和文件上传服务?

于 2009-01-12T12:05:21.777 回答
0

进一步的测试似乎使它看起来像是路径名的 260 个字符限制,暴露了 IE7 中的错误。

我使用的文件名很长的测试文件位于我的“我的文档”目录中(所以“C:\Documents and Settings\Random\My Documents”)。试图浏览到这个文件导致它没有填写 FileUpload 文本框。

我将文件移动到我的 C: 驱动器的根目录,然后浏览到该文件,它工作正常(然后当我尝试实际上传它时崩溃,因为服务器上的路径名将超过 260 个字符,如果我使用的是 FF3 或 Chrome,就会发生这种情况)。

所以,看起来它是一些东西的组合,在 IE7 中显示了一个错误。

谢谢您的帮助。

于 2009-01-13T02:28:54.763 回答