Направляющие: загрузите файл опцией “Open With”

Я выполняю направляющие 2.2.3. У меня есть контроллер, который я использую для управления загрузкой и загрузкой файлов. Я успешно связался с файлами на представлении, чтобы позволить пользователю загружать, но когда диалоговое окно загрузки открывается, оно только показывает вариант Save File. Я хотел бы иметь опцию "Open With" в наличии также. Я использую Firefox 3.6 на Ubuntu 10.

Это - контроллер, который используется, чтобы "отправить" файл пользователю:

def show

  @document = Document.find(params[:id])

  respond_to do |format|
    if File.exist?("#{RAILS_ROOT}/#{@document.path}")
      format.html { send_file "#{RAILS_ROOT}/#{@document.path}" }
    else
      flash[:error] = "File #{@document.path} does not exist!"
      format.html { redirect_to(:back) }
    end
  end

конец

1
задан Audie 26 July 2010 в 21:43
поделиться

1 ответ

Вы должны установить правильный тип MIME (и расширение), чтобы Firefox мог распознавать, какой тип файла загружается:

send_file "#{RAILS_ROOT}/#{@document.path}", :type => "application/pdf",
  :filename => "document.pdf"

Вы можете прочитать и сохранить эту информацию, когда файл загружается .

uploaded_file.content_type  # the uploaded file's MIME type
uploaded_file.original_path # name of the file

Даже тогда, если тип MIME неизвестен, я не думаю, что вы получите приглашение Открыть с помощью . В конечном итоге это также будет зависеть от конкретных типов файлов, которые вы используете в своем приложении.

2
ответ дан 2 September 2019 в 22:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: