想知道如何实现像Basecamp API这样的上传控制器,您可以在其中上传文件附件,接收包含该照片ID的XML响应,然后使用该响应在后续XML帖子中引用该文件以附加XML记录到文件附件...
答案 0 :(得分:0)
基本上,您只需要一个管理上传文件的插件,例如Paperclip或Attachment_fu。这些插件允许像数据库记录一样与文件交互,因此每个文件都会附加一个id。
然后确保控制器的respond_to
块中有xml声明。
respond_to do |format|
format.html
format.xml { #return the id for the file }
end
答案 1 :(得分:0)
令人惊讶的是,显然没有任何文档可以在任何地方找到它。我最终绊倒了Basecamp网站上的一个文档,描述了他们的文件附件过程如何为API用户工作并将其用作指南。
http://developer.37signals.com/basecamp/
在本文的帮助下发布文件:
http://www.codevil.com/index.php/2009/05/23/posting-and-getting-files-in-rubyrails/
我修改了我的初始设置,以便不是在XML中传递标记,而是首先发布文件并接收文件ID作为响应。
然后他们发布带有该引用的XML及其。
然后我使用before_validation和after_save回调来使用Paperclip设置文件,并在保存后删除tmp文件。