使用drupalgap将图像保存到drupal站点

时间:2014-02-11 11:08:01

标签: image drupal-7 save

我正在尝试使用drupalgap将图像从android模拟器保存到drupal网站,但是我无法做到这一点,下面是我为了将数据保存到drupal网站而写的ajax调用。

我的AJAX电话

$.ajax({
              url: "http://192.168.1.146/drunew/?q=my_services/node.json",
              type: 'post',
              data: 'node[type]=drupalgap&node[title]=' + encodeURIComponent(title) + '&node[language]=und&node[body][und][0][value]=' + encodeURIComponent(body) + '&node[files][field_filef_und_0]=' + encodeURIComponent(filef),
              dataType: 'json',
              beforeSend: function (request) {
                        request.setRequestHeader("X-CSRF-Token", token);
                     },
              error: function(XMLHttpRequest, textStatus, errorThrown) {
                alert('page_node_create_submit - failed to login');
                console.log(JSON.stringify(XMLHttpRequest));
                console.log(JSON.stringify(textStatus));
                console.log(JSON.stringify(errorThrown));
              },
              success: function (data) {

               $.mobile.changePage("main.html", "slideup");
              }
          });

但是上面的代码不适用于文件字段,然后在做了一些R& D后我知道首先我们必须得到fid,然后保存它。

下面是为图像创建fid后的响应。

{"fid":"47","uri":"http://192.168.1.146/drunew/my_services/file/47"}

我怀疑的是如何在上面的ajax调用中集成此响应以将图像保存在drupal站点中。

任何帮助,谢谢..

1 个答案:

答案 0 :(得分:0)

获得文件ID后,将其与节点创建/更新资源一起传递,如下所示:

节点创建 - POST

http://www.example.com/?q=drupalgap/node.json&title=Hello&type=article&field_images[und][0][fid]=47

节点更新 - PUT

http://www.example.com/?q=drupalgap/node/123.json&field_images[und][0][fid]=47

仅供参考,此功能现已内置于DrupalGap核心中,因此在添加/编辑节点时您不必做太多工作。