使用CAML从图片库中获取图像的URL

时间:2012-08-08 16:02:40

标签: jquery sharepoint caml sharepoint-list

如何使用CAML获取存储在图片库中的图像的URL?

目前,我已经制作了一个CAML查询并在U2U CAML Query Builder中运行,我看到ows_LinkFilenameows_LinkFilenameNoMenuows_LinkFilename2等字段存储图像的URL。 (它们包含我需要的东西 - image.jpg或image2.gif等)当我实现它并在该字段中输出值时,我得到一个“Undefined。”

甚至可以从文件本身访问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

1 个答案:

答案 0 :(得分:0)

使用"<FieldRef Name='EncodedAbsUrl' />",然后使用var url = ($(this).attr("ows_EncodedAbsUrl"));代替var name = ($(this).attr("ows_LinkFilename"));,它会提取图片的整个网址。