开发者

Rails Paperclip XML POST File

I am able to 'POST' to a Rails application (with Paperclip) using XML instead of the standard web form (trying to do it from another Ruby script). However, I would like to include a binary file.

Is there any way to include the binary data within an XML tag? Or can I do something like B64 encode the data on the client and then d开发者_如何学JAVAecode it before it hits the Paperclip plugin?

UPDATE:

The browser sends a POST with this data (among others):

Content-Disposition: form-data; name="upload[upload]"; filename="foo.jpg" 
Content-Type: image/jpeg 

ÿØÿà�JFIF��`�`��ÿþ�Created by AccuSoft Corp.ÿÛ�C�... 

I'd like to replicate that, but within XML


The short version is: use type="file", base64-encode the file, and put it inside a CDATA block. I originally found an explanation at this link:

http://techblog.floorplanner.com/2010/02/15/restful-uploading-of-files-using-xml/

That link appears to have died, so I recommend checking out the Internet Archive copy of the blog post:

http://web.archive.org/web/20100825030057/http://techblog.floorplanner.com/2010/02/15/restful-uploading-of-files-using-xml/

Also linked from that post is a gem that implements an encoder for files posted to Rails as XML: https://github.com/nragaz/encoded_attachment

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜