fix: PDFs im Preview-iframe statt neuem Tab
Download-Endpoint unterstuetzt jetzt ?inline=1, wodurch Content-Disposition auf inline statt attachment gesetzt wird. PDF- und Bild-Preview nutzen diesen Parameter, damit der Browser das PDF im Preview-Iframe rendert statt einen Download auszuloesen. Normale Download-Buttons bleiben unveraendert. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
50385faa02
commit
6aad986d78
|
|
@ -283,8 +283,11 @@ def download_file(file_id):
|
|||
if not filepath.exists():
|
||||
return jsonify({'error': 'Datei auf Datentraeger nicht gefunden'}), 404
|
||||
|
||||
return send_file(str(filepath), mimetype=f.mime_type, as_attachment=True,
|
||||
download_name=f.name)
|
||||
# inline=1 renders the file in-browser (used by PDF/image previews).
|
||||
# Default is attachment so normal download buttons still save to disk.
|
||||
inline = request.args.get('inline', '0') == '1'
|
||||
return send_file(str(filepath), mimetype=f.mime_type,
|
||||
as_attachment=not inline, download_name=f.name)
|
||||
|
||||
|
||||
def _download_folder_as_zip(folder):
|
||||
|
|
|
|||
|
|
@ -157,7 +157,7 @@ async function loadPreview() {
|
|||
previewType.value = data.type
|
||||
|
||||
if (data.type === 'pdf' || data.type === 'image') {
|
||||
previewUrl.value = getTokenUrl(`/api/files/${fileId}/download`)
|
||||
previewUrl.value = getTokenUrl(`/api/files/${fileId}/download?inline=1`)
|
||||
canEdit.value = false
|
||||
} else if (data.type === 'html') {
|
||||
htmlContent.value = data.content
|
||||
|
|
|
|||
Loading…
Reference in New Issue