2013-02-15 54 views
1

你可能會認爲是有在我們的生產應用之一。Internet Explorer中:FileUpload控件無法識別的文件與閱讀這個問題,這是不現實的莫名其妙,但下面的情況後,長文件名

一個我們的用戶報告,如果他試圖用太長的名稱上傳文件,他得到一個錯誤,我們必須去解決,通過限制文件名不能超過255個字符,包括文件擴展名。但是,我們面臨另一個奇怪的行爲,只有在Internet Explorer中才有。

如果用戶嘗試上載一個文件,它的長度包括擴展爲255個字符,文件上傳不接文件(即不識別文件),並示出的文件名文本框保持空白。這在IE8,IE9和IE 10中是有效的!這在ASP.NET或SharePoint解決方案中有效。

我試圖上傳Gmail中的同一個文件,我可以把它上傳在除了IE的所有瀏覽器,這意味着它是一些涉及到IE瀏覽器。

有什麼建議嗎?任何修復?

回答

0

不幸的是,它似乎是(已經?)一個窗口「功能」。

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

本地路徑的結構按照以下順序:驅動器號, 結腸,反斜槓,由反斜槓分隔的名稱的部件,和一個 終止空字符。例如,在驅動器d 最大路徑是「d:\一些256個字符路徑字符串」,其中「」表示當前系統 代碼頁 無形終止空字符。

我想你應該避免操作文件,這充分路徑超過260個字符,

不知道它是否會工作使用「\?\」很長的名字前綴的文件輸入文本框。

希望這會有所幫助。

+0

如果是這樣如何上傳相同的文件在其他瀏覽器中工作?我是否正確,如果我說這是因爲IE處理文件IO的方式,即文件上傳。根據BCL團隊的MSDN博客文章http://blogs.msdn.com/b/bclteam/archive/2007/02/13/long-paths-in-net-part-1-of-3-kim-hamilton .aspx .NET有長路徑問題,你覺得怎麼樣? – Ahmed 2013-02-15 19:21:26

+0

@Ahmed似乎更復雜請參閱http://msdn.microsoft.com/en-us/library/cc422524.aspx和http://stackoverflow.com/q/4192344/1236044您的用戶路徑是否包含非ANSI字符?這可能是255限制的問題。 – jbl 2013-02-15 23:00:52

+0

這是正確的,它是關於路徑限制。我們將設法避免操縱超過路徑限制的文件。非常感謝。 – Ahmed 2013-02-16 05:27:42

相關問題