仓库releases文件下载链接构建

This commit is contained in:
xxq250 2024-04-16 09:41:48 +08:00
parent ad9345badb
commit 89565acd13
3 changed files with 16 additions and 1 deletions

View File

@ -126,6 +126,14 @@ class VersionReleasesController < ApplicationController
end
end
def download
tip_exception(404, '您访问的页面不存在或已被删除') if params["tag_name"].blank? || params["file_name"].blank?
version = @repository.version_releases.find_by(tag_name: params["tag_name"])
attachment = @version.attachments.find_by(filename: params["file_name"])
tip_exception(404, '您访问的页面不存在或已被删除') if attachment.blank?
redirect_to "/api/attachments/#{attachment.uuid}"
end
private
def set_user

View File

@ -16,6 +16,12 @@ json.user_login user&.login
json.image_url user.present? ? url_to_avatar(user) : ""
json.attachments do
json.array! version.try(:attachments) do |attachment|
json.partial! "attachments/attachment_simple", locals: {attachment: attachment}
# json.partial! "attachments/attachment_simple", locals: {attachment: attachment}
json.id attachment.id
json.title attachment.title
json.filesize number_to_human_size attachment.filesize
json.description attachment.description
json.is_pdf attachment.is_pdf?
json.url "/#{@owner.login}/#{@repository.identifier}/releases/download/#{version&.tag_name}/#{attachment.filename}"
end
end

View File

@ -19,6 +19,7 @@ Rails.application.routes.draw do
get 'attachments/entries/get_file', to: 'attachments#get_file'
get 'attachments/download/:id', to: 'attachments#show'
get 'attachments/download/:id/:filename', to: 'attachments#show'
get ':owner/:repo/releases/download/:tag_name/:filename', to: 'version_releases#download'
get 'check_pr_url',to: "settings#check_url"
# get 'auth/qq/callback', to: 'oauth/qq#create'