保存文件后如何附加文件信息

时间:2010-08-02 16:51:33

标签: flash actionscript-3 drupal-6 file-upload amfphp

我目前正在开发一个需要将文件保存到Drupal的Flash应用程序。我已经使用File服务将文件保存到Drupal站点,但我无法使用node.save服务(上载模块,而不是CCK文件字段)将文件附加到节点。

我将使用node.save传输的对象在AS3中如下所示:

var node:Object;
// all the other required node fields : nid, type, language, uid, name,
// status, title, changed, created, format, taxonomy, picture
node.files = new Array();

var aFile:Array = new Array;
aFile['list']=1;
aFile['weight']=0;
aFile['remove']=0;
aFile['description']="test.txt";

// id = id of the previously saved file
node.files[id] = aFile;

我猜有些字段缺失或类似的东西。

2 个答案:

答案 0 :(得分:0)

也许您的问题与您的aFile数组有关。要在AS3中创建关联数组,Adobe建议您使用对象:

var aFile:Object = new Object();
aFile['list']=1;
aFile['weight']=0;
aFile['remove']=0;
aFile['description']="test.txt";

// id = id of the previously saved file
node.files[id] = aFile;

来自Adobe文档:

  • “不要使用Array类来创建关联数组(也称为哈希),它们是包含命名元素而不是编号元素的数据结构。要创建关联数组,请使用Object类。虽然ActionScript允许您创建关联使用Array类的数组,不能将任何Array类方法或属性与关联数组一起使用。“

答案 1 :(得分:0)

我发现它实际上只涉及在使用node_save()保存之前直接在加载了node_load()的对象中修改数据的模块。其他模块(如CCK)作用于表单的#post数据(使用drupal_execute)。

服务模块需要一个补丁才能处理上传模块(或任何类似这样的模块)。

您可以按照我在此处打开的故障单的详细信息http://drupal.org/node/881740