2012-08-08 78 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。