Добавление изображения в узел drupal 7 с помощью xmlrpc c # - PullRequest
2 голосов
/ 17 января 2012

Я пытаюсь добавить изображение в узел. Я искал в Интернете, но не нашел много. Я думаю, мне нужно сначала загрузить изображение, а затем добавить его в узел, поэтому я написал код для добавления изображения в папку (sites / all / default), но тщетно. Я получаю сообщение об ошибке в файле XmlRpcClientProtocol.cs - «Не удалось записать файл в место назначения».

используется метод file.create.

     XmlRpcStruct file = new XmlRpcStruct();

        file.Add("file", encodedData);
        file.Add("filename", filename);
        file.Add("filepath", "sites/default/files/" + filename);
        file.Add("filesize", filestream.Length);
        file.Add("timestamp", DateTime.Now.ToShortTimeString());

     drupal.FileSave(file);

Есть предложения?

1 Ответ

1 голос
/ 02 августа 2012

В Python:

with open(filepath + name_, 'rb') as f:
    img = base64.b64encode(f.read())
    size = os.path.getsize(filepath + name_)
    file = {'methodCall': 
             {'params': 
               {'param': 
                 {'struct': 
                   {'member': [
                     {'name': 'filesize', 'value':{'string': str(size)}}, 
                     {'name': 'filename', 'value':{'string': str(filepath + name_)}},
                     {'name': 'file', 'value':{'string': str(img)}}, 
                     {'name': 'filepath', 'value':{'string': 'public://product_image/'+str(name_)}}, 
                     ]
                   }
                 }
               }, 
               'methodName': 'file.create'
             }
           }   
    xml = dict2xml.dict2xml(file)
...