|
|
|
@@ -1,4 +1,5 @@ |
|
|
|
class VersionReleasesController < ApplicationController |
|
|
|
include ApplicationHelper |
|
|
|
before_action :load_repository |
|
|
|
before_action :set_user |
|
|
|
before_action :require_login, except: [:index, :show] |
|
|
|
@@ -126,6 +127,16 @@ class VersionReleasesController < ApplicationController |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
def download |
|
|
|
tip_exception(404, '您访问的页面不存在或已被删除') if params["tag_name"].blank? || params["filename"].blank? |
|
|
|
version = @repository.version_releases.find_by(tag_name: params["tag_name"]) |
|
|
|
attachment = version.attachments.find_by(filename: params["filename"]) |
|
|
|
tip_exception(404, '您访问的页面不存在或已被删除') if attachment.blank? |
|
|
|
send_file(absolute_path(local_path(attachment)), filename: attachment.title, stream: false, type: attachment.content_type.presence || 'application/octet-stream') |
|
|
|
update_downloads(attachment) |
|
|
|
# redirect_to "/api/attachments/#{attachment.uuid}" |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
private |
|
|
|
def set_user |
|
|
|
|