Re: Upload binary files with xml-rpc?

Rafel Amer <[email protected]>
Newsgroups gmane.comp.cms.opengroupware.xmlrpc.devel
Message-ID <[email protected]>
Helge Hess wrote:

> On 28. Apr 2005, at 19:39 Uhr, Rafel Amer Ramon wrote:
>
>> I have tried to upload a binary file with the command
>> server.project.newDocument
>>
>> If a send the file as a binary string, I get an error from
>> python and if I send it as a base64 encoded string, it is not
>> decoded by opengroupware.
>
>
> I remember a discussion of this in the past, maybe you should check  
> the archives. Of course it should be possible, but I remember that  
> there was some weirdness.
>
>> It is possible to upload binary files with
>> XML-RPC anb how can I do it?
>
>
> Notably using HTTP for file transfers is _much_ more efficient. Just  
> issue a PUT to ZideStore (/zidestore/dav/$user/Projects/$projectcode/ 
> $docpath).
>
> Greets,
>   Helge

Also, it is possible modifie the file
DocumentAPI/OGoDatabaseProject/SkyProjectFileManager.m
to check if the data arrived is encoded in base64:

    ////////////
    NSData *data;
    NSString *str;
    str = [[NSString alloc] initWithData:_contents
                encoding:NSUTF8StringEncoding];
    data = [str dataUsingEncoding:NSUTF8StringEncoding];
    if(!(data = [data dataByDecodingBase64])) data = _contents;
    fileSize = [NSNumber numberWithInt:
                           (int)((data) ? [data length] : 0)];

    // TODO: this did not set checkaccess to no!
    doc = [self _newFileDocAtPath:_path withName:name abstract:abstract
        ownerPrimaryKey:ownerId
        parentPrimaryKey:
          [[attrs objectForKey:@"globalID"] keyValues][0]
        content:data doNotCheckAccess:NO];
    ////////////

Then, if the data arrived is encoded in base64, it is decoded.


R. Amer
Polythecnic University of Catalonia
-- 
OpenGroupware.org XML-RPC
[email protected]
http://mail.opengroupware.org/mailman/listinfo/xmlrpc
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.