2012-08-08 64 views
0

如何使用CAML獲取存儲在圖片庫中的圖片的URL?使用CAML從圖片庫獲取圖片的URL

目前,我做了一個CAML查詢,並在U2U CAML Query Builder運行它,我看到這樣ows_LinkFilenameows_LinkFilenameNoMenu,並ows_LinkFilename2值 - 存儲圖像的URL字段。 (它們包含我需要的內容 - image.jpg或image2.gif等)當我實現它並輸出該字段中的值時,我會得到一個「未定義」。

它甚至可以從文件本身訪問URL嗎?我是否需要將圖片庫中的其中一個必填字段設置爲圖片的名稱? (image.jpg)

下面是jQuery的一個片段。

var fieldsToRead =  "<ViewFields>" + 
           "<FieldRef Name='ows_LinkFilename' />" + 
           "<FieldRef Name='ID' />" + 
          "</ViewFields>"; 

     var query = "<Query>" + 
         "<Where>" + 
          "<IsNotNull>" + 
           "<FieldRef Name='ID' />" + 
          "</IsNotNull>" + 
         "</Where>" + 
         "<OrderBy>" + 
         "<FieldRef Name='Display_x0020_Order' Ascending='True' />" + 
         "</OrderBy>" + 
        "</Query>"; 

     $().SPServices({ 
       operation: method, 
       async: false, 
       webURL: rootURL, 
       listName: list, 
       CAMLViewFields: fieldsToRead, 
        CAMLQuery: query, 
        completefunc: function (xData, Status) { 
         $(xData.responseXML).SPFilterNode("z:row").each(function() { 
          var name = ($(this).attr("ows_LinkFilename")); 

       console.log(name); 

非常感謝您的幫助。

AA

回答

0

通過使用"<FieldRef Name='EncodedAbsUrl' />",然後具有var url = ($(this).attr("ows_EncodedAbsUrl"));代替var name = ($(this).attr("ows_LinkFilename"));,它拉動圖像的全部URL。