2010-04-06 60 views
1

我能夠使用XML而不是標準Web表單(試圖從另一個Ruby腳本執行它)將'POST'導入到Rails應用程序(使用Paperclip)。但是,我想包含一個二進制文件。Rails回形針XML POST文件

有什麼辦法可以在XML標籤中包含二進制數據嗎?或者,我可以像B64一樣對客戶端上的數據進行編碼,然後在它到達Paperclip插件之前將其解碼?

UPDATE:
瀏覽器發送POST請求並提供此數據(其中包括):

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

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

我想複製這一點,但XML內

+0

因此,爲了澄清,您將上傳一個嵌入了bina的xml文檔數據? – 2010-04-06 14:26:51

+0

是的,查看更新後的帖子 – Fotios 2010-04-06 14:36:13

+0

您是否找到解決方案?我現在有同樣的問題。 – Matt 2010-08-25 05:04:29

回答

2

短的版本是:使用type="file" ,base64編碼該文件,並將其放入CDATA塊。我最初發現的說明在此鏈接:

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

出現鏈接到已經死了,所以我建議您查看博客文章的互聯網檔案副本:

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

還鏈接從這篇文章是一個gem,實現了一個文件的編碼器,以XML的形式發佈到Rails:https://github.com/nragaz/encoded_attachment