выставление файлов из сервиса через приложение rails - PullRequest
1 голос
/ 31 июля 2009

У меня есть приложение rails, которое генерирует файлы открытого офиса, и у меня есть служба в другом месте, которая преобразует эти файлы открытого офиса в файлы Microsoft Office. Я хотел бы иметь действие контроллера, которое отправит файл open office в конвертер, а затем предоставит пользователю возвращенный файл Microsoft Office. как я мог это сделать?

-C

Ответы [ 2 ]

3 голосов
/ 31 июля 2009

Выезд

send_file @file.path, :x_sendfile => true

при apidock .

Это позволяет вам обслуживать файлы из файловой системы с аутентификацией rails, но обработка фактического файла будет проходить через ваш модуль apache / lighttd и не будет связывать процесс rails.

Что касается возврата документа MS Office, вы, вероятно, захотите, чтобы служба вызывала другое действие, которое сообщает приложению rails о загрузке нового документа.

class MyController < ApplicationController
  def get_new_document
    unless params[:file_path].nil? or params[:server_uri].nil?
      @new_document = Net::Http.get(params[:server_uri], params[:file_path])
      @new_document.save # save to filesystem
    end
  end
end
0 голосов
/ 31 июля 2009

x_sendfile недоступен, если вы используете nginx, если вы используете X-Accel-Redirect. Вы можете найти больше информации здесь:

http://kovyrin.net/2006/11/01/nginx-x-accel-redirect-php-rails/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...