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