(à diviser par 3, il y a original + medium + thumb pour chacune)
Je propose de déplacer les attachements vers une directory uploaded_files à la racine du projet et de créer un controller d'attachment comme ceci:
class AttachmentsController < ApplicationController
before_action :check_access
def download
if params[:attachment_id].nil?
send_file "uploaded_files/default/avatar/missing.png"
else
attachment = Attachment.find_by(id: params[:upload_id])
if attachment.nil?
send_file "uploaded_files/default/avatar/missing.png"
else
send_file attachment.src.path, filename: "#{attachment.element.id}#{File.extname(attachment.src.path)}", disposition: "inline"
end
end
end
end
l'intérêt étant évidemment check_access.
Il faut configurer le nouveau path dans app/models/attachement.rb:
Coucou,
Je viens de voir que les images sont stockées dans public/ ..., ce qui fait que tout le monde y a accès sans être loggé 🙁.
Par exemple: https://collector.vergeylen.eu/system/attachments/images/000/000/212/medium/20171202_162916.jpg 😢 Il y a déjà beaucoup d'images:
(à diviser par 3, il y a original + medium + thumb pour chacune)
Je propose de déplacer les attachements vers une directory
uploaded_files
à la racine du projet et de créer un controller d'attachment comme ceci:l'intérêt étant évidemment
check_access
.Il faut configurer le nouveau path dans
app/models/attachement.rb
:voir la doc complète sur le path ici