Ruby On Rails - Включение клиента скачать видео -- ruby-on-rails поле с участием ruby пол Связанный проблема

Ruby on Rails - Enabling client to download videos


0
vote

проблема

русский

Требование - у меня есть видео, размещенное на моем сервере, пользователь должен быть в состоянии загрузить файл, нажав на ссылку.

Я следую инструкциям, приведенным в http://code.runnable.com/upd0g0q7jxn6aaie/how-to-download-a-file-using-ruby-on-rails- для загрузки видеофайлов.

Это принимает много времени для скачивания, а после этого он открывает двоичный файл в браузере.

Контроллер - отредактированный - полный контроллер

 <код> class YoutubeDownloadsController < ApplicationController  def index end  def download     link = params[:link]     #YoutubeDL.download "https://www.youtube.com/watch?v=gvdf5n-zI14", output: Rails.public_path.join('downloads','some_file.mp4')     respond_to do |format|         format.html         format.json         format.js     end end  def browser_download     send_file Rails.public_path.join('downloads', 'some_file.mp4'), :type=>"video/mp4", :x_sendfile=>true end end   

Просмотр -

index.html.erb

 <код> <div class="card">   <header class="card-header bg-inverse text-white">     <h3 class="text-left font-weight-bold">Download Videos <small class="font-italic">...for free</small></h3>   </header> </div> <div class="col-lg-8" style="margin-top:15%;margin-left:10em;margin-right:10em;">   <%= form_tag("/download",method:"post", remote: true) do %>     <div class="input-group">       <%=  text_field_tag 'link', nil, placeholder: 'Paste your youtube link ...', class: "form-control" %>       <!--input type="text" class="form-control" placeholder="Paste your youtube link ..."-->       <span class="input-group-btn">         <%= button_tag "Download!", class: "btn btn-primary" %>         <!--button class="btn btn-primary" type="button">Go!</button-->       </span>     </div>   <% end %>   <div id='file'></div>   <br>   <small><p class="text-muted" style="margin-left:20em;margin-right:20em;">Please thank good samaritans @ <a href="https://rg3.github.io/youtube-dl/">Youtube-dl</a>. They made it possible.</p></small> </div> <div class="card">   <footer class="text-right card-footer text-muted bg-info text-white" >     <small><p>Posted by: Tushar Saurabh | Contact information: <a href="mailto:tusharacc@gmail.com">Email Me</a>.</p></small>   </footer> </div>   

Download.js.erb

 <код> var html = '<a href="<%=  browser_download_path %>">Download</a>'; document.getElementById('file').innerHTML = html   

Маршрут -

 <код> get '/browser_download', to: 'download#browser_download'   

двоичный файл - Введите описание изображения здесь

Как я могу избежать открытия файла в браузере. Более того, процесс медленный, есть ли лучший и быстрый способ сделать это.

Английский оригинал

Requirement - I have a video hosted on my server, User should be able to download the file by clicking the link.

I am following the instructions given at http://code.runnable.com/Upd0g0q7JxN6AAIE/how-to-download-a-file-using-ruby-on-rails- to download video files.

It is taking lot of time to download, and after that it opens the binary file in browser.

Controller - EDITED - Complete Controller

class YoutubeDownloadsController < ApplicationController  def index end  def download     link = params[:link]     #YoutubeDL.download "https://www.youtube.com/watch?v=gvdf5n-zI14", output: Rails.public_path.join('downloads','some_file.mp4')     respond_to do |format|         format.html         format.json         format.js     end end  def browser_download     send_file Rails.public_path.join('downloads', 'some_file.mp4'), :type=>"video/mp4", :x_sendfile=>true end end 

View -

index.html.erb

<div class="card">   <header class="card-header bg-inverse text-white">     <h3 class="text-left font-weight-bold">Download Videos <small class="font-italic">...for free</small></h3>   </header> </div> <div class="col-lg-8" style="margin-top:15%;margin-left:10em;margin-right:10em;">   <%= form_tag("/download",method:"post", remote: true) do %>     <div class="input-group">       <%=  text_field_tag 'link', nil, placeholder: 'Paste your youtube link ...', class: "form-control" %>       <!--input type="text" class="form-control" placeholder="Paste your youtube link ..."-->       <span class="input-group-btn">         <%= button_tag "Download!", class: "btn btn-primary" %>         <!--button class="btn btn-primary" type="button">Go!</button-->       </span>     </div>   <% end %>   <div id='file'></div>   <br>   <small><p class="text-muted" style="margin-left:20em;margin-right:20em;">Please thank good samaritans @ <a href="https://rg3.github.io/youtube-dl/">Youtube-dl</a>. They made it possible.</p></small> </div> <div class="card">   <footer class="text-right card-footer text-muted bg-info text-white" >     <small><p>Posted by: Tushar Saurabh | Contact information: <a href="mailto:tusharacc@gmail.com">Email Me</a>.</p></small>   </footer> </div> 

download.js.erb

var html = '<a href="<%=  browser_download_path %>">Download</a>'; document.getElementById('file').innerHTML = html 

Route -

get '/browser_download', to: 'download#browser_download' 

The binary file - enter image description here

How can I avoid opening of the file in browser. Moreover, the process is slow, is there a better and faster way to do it.

</div
     
       
       

Список ответов

Связанный проблема

0  Rails find_by_sql Не возвращая результаты  ( Rails find by sql not returning results ) 
Так что мой запрос, который я бегу, возвращает массив с идентификатором и ничего больше. Но когда я бегу один и тот же запрос в PSQL, он возвращает правильные...

1  Изучение Руби на рельсы "РПСПЕК"  ( Learning ruby on rails rspec ) 
Я подписан на примеру Рубиной книги Michael Hart, книга говорит вам, чтобы установить Bundle, а затем генерировать RSPEC: установить. Я бегу 3.0.4 Rails и 1.9...

23  Почему не приятно иметь первичный ключ на таблице присоединения?  ( Why is it not good to have a primary key on a join table ) 
Я смотрел на скринкаст, где автор сказал, что нехорошо, чтобы иметь первичный ключ на таблице присоединения, но не объяснил, почему. Таблица соединения в пр...

10  Какой правильный способ запуска одного контроллера действия от другого действия контроллера без перенаправления HTTP?  ( Whats the correct way to run one controller action from another controller acti ) 
Я хотел бы иметь возможность отправлять из одного контроллера на другой условно, на основе комбинации параметров запросов и данных в базе данных. Что я имею...

3  Подавить ошибку при сохранении записи в рельсах  ( Suppress an error when saving a record in rails ) 
Я сохраняю данные в таблицу. <код> Question title:string author_id:integer description:text upvotes:integer Если значение «question.upvotes» сос...

0  Маршрутизация поддоменов в рельсах и главном участке  ( Subdomain routing in rails and main site ) 
Я пытаюсь установить следующее: www.domain.com идет на главный сайт (пользователь может зарегистрироваться, информацию о приложении) foo.domain.com отправ...

6  Модели Activerecord кэшированы в заставленных граблях?  ( Activerecord models cached in rake tasks ) 
Я знаю, что в Rails 2.3.2 QuickeRecord запросы кэшированы, то есть вы можете увидеть что-то в журнале разработки / производства: <код> CACHE (0.0ms) SELEC...

4  JSON и CARIONWAVE IPHONE проблема [закрыто]  ( Json and carrierwave iphone problem ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> <Путь d = "M15 6.38A6.48 6.48 0 007.78. 04H-.02A6.49 6.49 0 002.05 ...

0  Как я могу переместить новую форму записи в связанные записи Show Page?  ( How can i move a new record form into a related records show page ) 
У меня есть 2 столы: местами и отзывы, где 1 место проведения могут иметь много отзывов, а отзыв принадлежит проведению. В настоящее время я добавляю отзывы о...

2  Можно #to_s когда-либо неудачу?  ( Can to s ever fail ) 
Я строю простую фабрику в Ruby, который возвращает <код> Callable (<код> Lambda в этом случае), который знает, как отличить имя прошедшего типа (например, к...

3  Разделите данные сеанса между сайтами?  ( Share session data between sites ) 
Я работаю над многосемы, и я хотел бы разделить данные сеанса между двумя или более сайтами. У меня есть идентификатор сеанса, но какой лучший способ получить...

11  Используйте PaperClip для сохранения изображений Base64, полученные из API  ( Use paperclip for saving base64 images obtained from an api ) 
У меня есть фото модель с атрибутом изображения. Изображение содержит строку Base64, полученную из API. Мне нужно запустить обратный вызов после_create, и я д...

1  Включая метод помощника в тесте контроллера  ( Including helper method in controller test ) 
Как мне включить некоторого помощника в мой код ControlLer_Spec? У меня есть метод под названием «A_TITLE (ADS)» в Dates_ads_Helper и возвращает себя. Как исп...

1  Логические ценности не "читают" в рельсах  ( Boolean values not being read in rails ) 
Я импортировал некоторые значения из Excel, используя ROO на логические поля в моем приложении Rails. В консоль рельсов Похоже, что все работает нормально, ...

1  Rails link_to запрос params - выбор в элементе на следующей странице  ( Rails link to query params selecting in item on the next page ) 
прямо сейчас у меня <код> link_to . Похоже на кнопку пользователю. Это кнопка обновления, поэтому он направляет пользователь на страницу планов. Я не только...

Связанный проблема

0  Rails find_by_sql Не возвращая результаты 
1  Изучение Руби на рельсы "РПСПЕК" 
23  Почему не приятно иметь первичный ключ на таблице присоединения? 
10  Какой правильный способ запуска одного контроллера действия от другого действия контроллера без перенаправления HTTP? 
3  Подавить ошибку при сохранении записи в рельсах 
0  Маршрутизация поддоменов в рельсах и главном участке 
6  Модели Activerecord кэшированы в заставленных граблях? 
4  JSON и CARIONWAVE IPHONE проблема [закрыто] 
0  Как я могу переместить новую форму записи в связанные записи Show Page? 
2  Можно #to_s когда-либо неудачу? 
3  Разделите данные сеанса между сайтами? 
11  Используйте PaperClip для сохранения изображений Base64, полученные из API 
1  Включая метод помощника в тесте контроллера 
1  Логические ценности не "читают" в рельсах 
1  Rails link_to запрос params - выбор в элементе на следующей странице