我们的一位客户正在以各种可想象的方式打破软件,他刚刚发现了这个。
如果用户尝试上传文件名很长的文件(我认为用户正在尝试使用180个字符的文件名),则FileUpload控件拒绝在IE7上识别它。
单击“浏览”按钮,浏览到该文件,单击该文件,单击“上载”按钮,应显示文件名为空白的文本框。任何人都知道这件事,修理等等吗?
我设法在其上找到了this asp.net forums discussion,但它没有对此问题有所了解。
该应用程序是用Visual Studio 2008编写的,这发生在IE7中,但不是FF3或Chrome。如果我使用其他两个浏览器中的任何一个,它会正确填充FileUpload控件,但在实际尝试上传时会中断,因为生成的文件名/路径太长。
享受 随机
答案 0 :(得分:4)
这可能不是特别是ASP.NET甚至是IE7问题。
Windows在完整路径名(*)上限制为260个字符,这可以通过一些具有长文件名的嵌套文件夹轻松实现,特别是如果您从已经具有相当长路径名的用户文件夹开始(例如。'C:\ Documents and Settings \ Brian Popalopadopaslopalos \ My Documents'或'Desktop')。
当你达到这个极限时,事情开始变得棘手。重命名文件,移动文件夹,搜索等都以奇怪的方式开始出错。如果浏览器也出现故障并且你可以做的事情可能不多,也就不足为奇了。
(* - 事情实际上比这复杂一点,但仍然......)
答案 1 :(得分:0)
您需要更多地测试此问题,然后将其置于“已知问题”中,提供您可以接受的最大文件名大小。
他们可以将这些文件上传到hotmail吗? Gmail吗?和文件上传服务?
答案 2 :(得分:0)
一些进一步的测试似乎让它看起来像是暴露IE7中的错误的路径名上的260个字符限制。
我使用的文件很长的测试文件位于我的My Documents目录中(所以“C:\ Documents and Settings \ Random \ My Documents”)。尝试浏览此文件导致它无法填写FileUpload文本框。
我将文件移动到我的C:驱动器的根目录,并浏览到该文件,它工作正常(然后当我尝试实际上传它时崩溃,因为路径名称大于260个字符服务器,如果我使用的是FF3或Chrome,就会发生这种情况。)
所以,看起来它是IE7中出现错误的一些组合。
感谢您的帮助。