diff --git a/app/controllers/assets_controller.rb b/app/controllers/assets_controller.rb index df92415b4..c1a31a88e 100644 --- a/app/controllers/assets_controller.rb +++ b/app/controllers/assets_controller.rb @@ -102,6 +102,10 @@ class AssetsController < ApplicationController render plain: @asset.file.blob.service_url end + def download + redirect_to rails_blob_path(@asset.file, disposition: 'attachment') + end + def edit action = @asset.file_size.zero? && !@asset.locked? ? 'editnew' : 'edit' @action_url = append_wd_params(@asset.get_action_url(current_user, action, false)) diff --git a/app/controllers/wopi_controller.rb b/app/controllers/wopi_controller.rb index d2ee1ed9d..de1f9a26b 100644 --- a/app/controllers/wopi_controller.rb +++ b/app/controllers/wopi_controller.rb @@ -48,6 +48,8 @@ class WopiController < ActionController::Base put_file end + private + def check_file_info asset_owner_id = @asset.id.to_s asset_owner_id = @asset.created_by_id.to_s if @asset.created_by_id @@ -69,7 +71,7 @@ class WopiController < ActionController::Base UserCanWrite: @can_write, UserCanNotWriteRelative: true, CloseUrl: @close_url, - DownloadUrl: url_for(controller: 'assets', action: 'file_url', id: @asset.id, host: ENV['WOPI_USER_HOST']), + DownloadUrl: url_for(controller: 'assets', action: 'download', id: @asset.id, host: ENV['WOPI_USER_HOST']), HostEditUrl: url_for(controller: 'assets', action: 'edit', id: @asset.id, host: ENV['WOPI_USER_HOST']), HostViewUrl: url_for(controller: 'assets', action: 'view', id: @asset.id, host: ENV['WOPI_USER_HOST']), BreadcrumbBrandName: @breadcrumb_brand_name, @@ -260,8 +262,6 @@ class WopiController < ActionController::Base end end - private - def authenticate_user_from_token! wopi_token = params[:access_token] if wopi_token.nil? diff --git a/config/routes.rb b/config/routes.rb index b5f7405be..70d951786 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -685,6 +685,7 @@ Rails.application.routes.draw do get 'files/:id/preview', to: 'assets#preview', as: 'preview_asset' get 'files/:id/view', to: 'assets#view', as: 'view_asset' get 'files/:id/file_url', to: 'assets#file_url', as: 'asset_file_url' + get 'files/:id/download', to: 'assets#download', as: 'asset_download' get 'files/:id/edit', to: 'assets#edit', as: 'edit_asset' post 'files/:id/update_image', to: 'assets#update_image', as: 'update_asset_image'