2009-11-18 45 views
2

想知道如何實現像Basecamp API這樣的上傳控制器,您可以在其中上傳文件附件,接收包含該照片的ID的XML響應,然後使用該響應來引用該文件隨後的XML文章將XML記錄附加到文件附件中...實現像Basecamp這樣的上傳控制器

回答

0

基本上所有你需要的是一個管理上傳文件的插件,如PaperclipAttachment_fu。這些插件允許像數據庫記錄那樣與文件交互,所以每個文件都會附加一個id。

然後確保在控制器中的respond_to塊中有一個xml聲明。

respond_to do |format| 
    format.html 
    format.xml { #return the id for the file } 
end 
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文件。

相關問題