URL 路径长度限制(错误:指定的文件或文件夹名称太长)
本節(jié)討論 URL 的構(gòu)成、SharePoint 2010 構(gòu)建 URL 的方式、URL 的編碼和加長以及作為其他 URL 中的參數(shù)傳遞的方式。
SharePoint URL 的構(gòu)成
SharePoint URL 的總長度等于文件夾或文件路徑的長度,包括協(xié)議和服務(wù)器名稱和文件夾或文件名稱,以及作為 URL 的一部分包含在內(nèi)的任何參數(shù)。公式如下:
· URL = 協(xié)議 + 服務(wù)器名稱 + 文件夾或文件路徑 + 文件夾或文件名 + 參數(shù)
例如,下面是 SharePoint? 2010 中存儲的文件的典型 URL 路徑:
http://www.contoso.com/sites/marketing/documents/Shared%20Documents/Promotion/Some%20File.xlsx
其中,URL 路徑的各個部分在下表中列出。
| URL 部分 | 示例 |
| 協(xié)議 | http:// |
| 服務(wù)器名稱 | www.contoso.com/ |
| 文件夾或文件路徑 | sites/marketing/documents/Shared%20Documents/Promotion/ |
| 文件名 | Some%20File.xlsx |
URL 編碼
URL 編碼可確保所有瀏覽器將正確傳輸 URL 字符串中的文本。有些瀏覽器可能會截?cái)嗷蚱茐闹T如問號 (?)、與號 (&)、左斜線 (/) 和空格之類的字符。SharePoint Foundation 2010 遵守 Internet 工程任務(wù)組 (IETF) RFC 3986(該鏈接可能指向英文頁面)(http://go.microsoft.com/fwlink/?linkid=195564&clcid=0x804) 中定義的 URL 編碼標(biāo)準(zhǔn)。
如果 SharePoint URL 中包含非標(biāo)準(zhǔn) ASCII 字符(如高位 ASCII 或雙字節(jié) Unicode 字符),則在將它們傳遞到 Web 瀏覽器時,會將每個字符都 URL 編碼為兩個或更多個 ASCII 字符。因此,包含多個高位 ASCII 字符或雙字節(jié) Unicode 字符的 URL 可能會比原始未編碼的 URL 長。下面的列表提供了倍增系數(shù)的示例:
· 高位 ASCII 字符,例如,(!、"、#、$、%、&、[Space]):倍增因數(shù) = 3
· 雙字節(jié) Unicode 字符,例如日語、中文、朝鮮語、印地語:倍增系數(shù) = 9
例如,將 URL 路徑 http://www.contoso.com/sites/marketing/documents/Shared%20Documents/Promotion/Some%20File.xlsx 中的網(wǎng)站、庫、文件夾和文件名稱轉(zhuǎn)換為日語時,生成的編碼 URL 路徑將與以下內(nèi)容類似:
http://www.contoso.com/sites/%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0/%E6%96%87%E6%9B%B8/DocLib/%E3%83%97%E3%83%AD%E3%83%A2%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB.xlsx。此路徑包含 224 個字符,而原始 URL 路徑僅包含 94 個字符。
| 重要: |
| 未編碼的 URL 中不能使用以下字符:(~、#、%、&、*、{}、\、:、<>、/、+、|、“)。 |
URL 參數(shù)
URL 參數(shù)是作為要處理 URL 的一部分包含在內(nèi)的數(shù)據(jù)。這些參數(shù)也會進(jìn)行 URL 編碼,并且可編碼多次,從而生成非常長的 URL。
例如,如果您瀏覽到某個列表,則 URL 可能類似如下:http://www.contoso.com/sites/marketing/documents/Shared%20Documents/Forms/AllItemA.aspx?RootFolder=%2Fsites%2Fmarketing%2Fdocuments%2FShared%20Documents%2FPFPromoti&FolderCTID=0x012000F2A09653197F4F4F919923797C42ADEC&View={CD527605-9A7A-448D-9A35-67A33EF9F766}。此 URL 包含 260 個字符。
如果您隨后單擊“庫”選項(xiàng)卡上的“創(chuàng)建視圖”,則整個 URL 作為源參數(shù)包含在生成的 URL 中,并且編碼后會長得多,例如,http://www.contoso.com/sites/marketing/documents/_layouts/ViewType.aspx?List=%7BED6E21E0%2DDF28%2D4165%2DBC3E%2D5371987CC2D2%7D&Source=http%3A%2F%2Fwww%2Econtoso%2Ecom%2Fsites%2Fmarketing%2Fdocuments%2FShared%2520Documents%2FForms%2FAllItems%2Easpx%3FRootFolder%3D%252Fsites%252Fmarketing%252Fdocuments%252FShared%2520Documents%252FPromotion%26FolderCTID%3D0x012000F2A09653197F4F4F919923797C42ADEC%26View%3D%7BCD527605%2D9A7A%2D448D%2D9A35%2D67A33EF9F766%7D。此 URL 包含 457 個字符。
| 重要: |
| 如果要傳遞到 Internet Explorer 的 URL 總長度超過 1950 個字節(jié),則 SharePoint Foundation 2010 會截?cái)嘣?URL 源參數(shù)。源參數(shù)是對以前訪問的頁面的引用。截?cái)嘣磪?shù)的結(jié)果是用戶將返回默認(rèn)位置,而不是源參數(shù)中指定的位置。 不會截?cái)嗥渌麉?shù)(如排序順序、根文件夾參數(shù)和視圖)。 |
URL 路徑長度限制
本節(jié)討論 SharePoint Foundation 2010 和 Internet Explorer 中的不同 URL 長度限制,以及如何規(guī)劃 URL 路徑長度。
SharePoint URL 路徑長度限制
本節(jié)中的限制適用于 SharePoint Foundation 2010 中的文件夾或文件的 URL 路徑的總長度,但不適用于任意參數(shù)的長度。此外,這些限制僅適用于未編碼的 URL,而不是編碼的 URL。SharePoint Foundation 2010 中的編碼 URL 沒有限制。這些限制包括:
· 260 個 Unicode (UTF-16) 代碼單元 – 完整文件路徑中的字符,不包括域/服務(wù)器名稱。
· 256 個 Unicode (UTF-16) 代碼單元 – 完整文件夾路徑中的字符,不包括文件名和域/服務(wù)器名稱。
· 128 個 Unicode (UTF-16) 代碼單元 - 路徑組件中的字符,即文件或文件夾名稱。
· 260 個 Unicode (UTF-16) 代碼單元 – 完整路徑中的字符,包括用于 Office 客戶端的域/服務(wù)器名稱。
· 256 個 Unicode (UTF-16) 代碼單元 – 完整路徑中的字符,包括用于 Active X 控件的域/服務(wù)器名稱。
有關(guān)詳細(xì)信息,請參閱 Microsoft 知識庫文章 894630 您收到“指定的文件或文件夾名稱太長”錯誤消息(http://go.microsoft.com/fwlink/?linkid=195567&clcid=0x804)。
| 注意: |
| 了解代碼單元 - 大多數(shù)情形下,一個 UTF-16 字符等于一個 UTF-16 代碼單元。但是,使用大于 U+10000 的 Unicode 碼位的字符等于兩個 UTF-16 代碼單元。這些字符包括但不限于日語或中文代理項(xiàng)對字符。如果您的路徑包括這些字符,則 URL 長度將超出 URL 長度限制(不超過 256 或 260 個字符)。 |
Internet Explorer URL 長度限制
Internet Explorer 還具有與 SharePoint Foundation 2010 中的限制不同的限制。盡管可使 SharePoint Foundation 2010 URL 路徑短于限制長度,但還可能會由于添加參數(shù)或編碼 URL 而遇到 Internet Explorer URL 長度限制。必須使用最嚴(yán)格的限制作為規(guī)劃 URL 長度的指南。
Internet Explorer 7 和 Internet Explorer 8 均具有以下限制:URL 最大長度為 2,083 個 UTF-8 字符,路徑最大長度為 2,048 個 UTF-8 字符。但是,在 Internet Explorer 7 中,在某些特定情況下,有效的 URL 長度限制為 1024 個 UTF-8 字符,而不是 2083 個 UTF-8 字符。有關(guān) Internet Explorer 中的 URL 長度限制的詳細(xì)信息,請參閱 Microsoft 知識庫文章 208427 Internet Explorer 中的 URL 最大長度為 2,083 個字符 (http://go.microsoft.com/fwlink/?linkid=195568&clcid=0x804)。
| 重要: |
| 除非環(huán)境中的所有瀏覽器均為 Internet Explorer 8,否則請遵守 1024 個 UTF-8 字符的有效限制。 |
解決 URL 長度問題
可通過多種方法解決或緩解 SharePoint Foundation 2010 環(huán)境中的 URL 長度問題。下面的列表提供了建議:
· 將所有最終用戶瀏覽器升級為 Internet Explorer 8,該版本具有更長的 URL 長度限制。
· 使用更短的網(wǎng)站、文件夾和文檔名稱,控制網(wǎng)站和文件夾結(jié)構(gòu)的深度,從而縮短 URL 的長度。
· 如果可能或情況允許,請為網(wǎng)站、文件夾和文檔使用 ASCII 名稱。這樣可避免 URL 由于編碼而變長的情形。
· 若要降低 SharePoint Foundation 2010 最終用戶由于 URL 長度限制而遇到問題的風(fēng)險,建議在部署中應(yīng)用以下有效限制:
o 256 個 Unicode (UTF-16) 代碼單元 - 有效的文件路徑長度限制,包括域/服務(wù)器名稱
o 128 個 Unicode (UTF-16) 代碼單元 - 路徑部分長度限制
總結(jié)
以上是生活随笔為你收集整理的URL 路径长度限制(错误:指定的文件或文件夹名称太长)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sql 日期函数往前推当前时间指定天数
- 下一篇: mysql 引擎 校对,MySQL 字符