POST-файл Rails Paperclip XML - PullRequest
       12

POST-файл Rails Paperclip XML

1 голос
/ 06 апреля 2010

Я могу 'POST' в приложение Rails (с Paperclip), используя XML вместо стандартной веб-формы (пытаясь сделать это из другого скрипта Ruby). Тем не менее, я хотел бы включить двоичный файл.

Есть ли способ включить двоичные данные в тег 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

1 Ответ

2 голосов
/ 09 октября 2010

Краткая версия: используйте 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/

С этого поста также связан гем, который реализует кодировщик для файлов, публикуемых в Rails как XML: https://github.com/nragaz/encoded_attachment

...